|
Inhaltsverzeichnis |
6 |
|
|
Vorwort |
12 |
|
|
Über die Autoren |
13 |
|
|
Sprech- und Schreibweisen, Auszeichnungen und Hinweise |
13 |
|
|
Dank |
15 |
|
|
Ausblick |
15 |
|
|
Teil 1 Programmier-Lösungen |
18 |
|
|
1 Core Java |
20 |
|
|
1.1 Basistypen versus Objekte |
20 |
|
|
1.1.1 Einige Unicode-Zeichen |
26 |
|
|
1.1.2 Vom Basistypen zum Objekt |
27 |
|
|
1.2 Zahlen richtig verwenden |
29 |
|
|
1.2.1 Zahlen formatieren/konvertieren |
29 |
|
|
1.2.2 Rechnen mit Gleitkommazahlen |
32 |
|
|
1.2.3 „Große" Zahlen |
33 |
|
|
1.3 Bits richtig verwenden |
34 |
|
|
1.4 Strings richtig verwenden |
37 |
|
|
1.4.1 Vorteile von StringBuffer |
38 |
|
|
1.4.2 Reguläre Ausdrücke |
39 |
|
|
1.5 Arrays richtig verwenden |
42 |
|
|
1.5.1 Was bietet die Klasse java.util.Arrays? |
43 |
|
|
1.6 Zeit- und Datumsangaben richtig verwenden |
48 |
|
|
1.7 Datentypen einlesen und schreiben |
52 |
|
|
1.8 Out-Parameter |
54 |
|
|
1.9 „Systemnahe" Klassen |
55 |
|
|
1.9.1 Die Klassen RunTime und Process |
55 |
|
|
2 Threads |
60 |
|
|
2.1 Einleitung |
60 |
|
|
2.2 Threads richtig anwenden |
61 |
|
|
2.3 Ein Thread-Pool |
71 |
|
|
3 Lösungen für Benutzerschnittstellen |
74 |
|
|
3.1 Einleitung |
74 |
|
|
3.2 AWT |
75 |
|
|
3.2.1 Bilder |
80 |
|
|
3.2.2 Events |
83 |
|
|
3.2.3 System |
89 |
|
|
3.3 Layouts |
90 |
|
|
3.4 Leichtgewichts-Komponenten |
92 |
|
|
3.5 Swing |
100 |
|
|
3.6 Drag & Drop |
104 |
|
|
3.7 Clipboard |
107 |
|
|
3.8 Drucken mit Java 1.4 |
110 |
|
|
4 Datenstrukturen |
114 |
|
|
4.1 Einleitung |
114 |
|
|
4.2 Puffer richtig verwenden |
116 |
|
|
4.3 Java-Collection-Framework |
118 |
|
|
4.4 Vektoren richtig verwenden |
120 |
|
|
4.5 Hashtable richtig verwenden |
120 |
|
|
4.6 Mengen |
121 |
|
|
4.7 Stack, Queues |
122 |
|
|
4.8 Bäume |
124 |
|
|
4.9 Zugriff auf Inhalte von Datenstrukturen |
127 |
|
|
5 I/O und Netzwerk |
128 |
|
|
5.1 Einleitung |
128 |
|
|
5.2 IO |
129 |
|
|
5.3 Netzwerk |
145 |
|
|
6 Applets |
172 |
|
|
6.1 Einleitung |
172 |
|
|
6.2 Applets richtig verwenden |
173 |
|
|
6.3 Java-Plugin |
181 |
|
|
6.4 Einschränkungen von Applets |
185 |
|
|
7 XML |
190 |
|
|
7.1 Einleitung |
190 |
|
|
7.2 Parsen von XML |
191 |
|
|
7.2.1 SAX |
193 |
|
|
7.2.2 DOM |
199 |
|
|
7.3 Erzeugen von XML |
201 |
|
|
7.4 Verarbeitung von XML |
202 |
|
|
8 Internationalisierung |
210 |
|
|
8.1 Einleitung |
210 |
|
|
8.2 Unicode |
211 |
|
|
8.3 Locales |
213 |
|
|
8.4 Resource Bundles |
215 |
|
|
9 SQL und JDBC |
218 |
|
|
9.1 Einleitung |
218 |
|
|
9.2 Die Umsetzung des Datenbankprogrammiermodells |
219 |
|
|
9.3 Programmieren mit dem JDBC |
222 |
|
|
9.4 Java-Klassen aus SQL erzeugen |
227 |
|
|
10 Java-Programme testen und optimieren |
230 |
|
|
10.1 Einleitung |
230 |
|
|
10.2 Testen |
231 |
|
|
10.3 Optimieren |
235 |
|
|
10.3.1 Java performant verwenden |
235 |
|
|
10.3.2 Java speichersparend verwenden |
241 |
|
|
Teil 2 Architektur-Lösungen |
244 |
|
|
11 Client-Anwendungen |
246 |
|
|
11.1 Einleitung |
246 |
|
|
11.2 Applikationen |
247 |
|
|
11.3 WebStart |
253 |
|
|
11.4 RDF-Reader |
259 |
|
|
12 Server-Architekturen |
268 |
|
|
12.1 Einleitung |
268 |
|
|
12.2 HTTP-Server |
269 |
|
|
12.2.1 Design & Implementierung |
269 |
|
|
12.2.2 Erweiterungen |
275 |
|
|
12.3 Proxy-Server |
282 |
|
|
12.3.1 Design & Implementierung |
282 |
|
|
12.3.2 Erweiterungen |
287 |
|
|
13 Web-Services |
290 |
|
|
13.1 Einleitung |
290 |
|
|
13.2 SOAP |
292 |
|
|
13.3 Das Java Web Service Development Pack |
296 |
|
|
13.3.1 JAXB |
296 |
|
|
13.3.2 SAAJ |
300 |
|
|
13.3.3 JAX-RPC |
310 |
|
|
13.3.4 JAXR |
312 |
|
|
14 Push-Server |
316 |
|
|
14.1 Einleitung |
316 |
|
|
14.2 Ein Push-Server über HTTP |
317 |
|
|
15 Sicherheit |
324 |
|
|
15.1 Einleitung |
324 |
|
|
15.2 Zugriffskontrolle |
325 |
|
|
15.3 SSL und Zertifikate |
330 |
|
|
15.4 Kryptografie |
336 |
|
|
Teil 3 Anhang |
342 |
|
|
Die CD zum Buch (nicht zum eBook erhältlich) |
344 |
|
|
A.1 Das src-Verzeichnis |
345 |
|
|
A.2 Das jar-dateien-Verzeichnis |
346 |
|
|
A.3 software |
347 |
|
|
A.3.1 apache |
348 |
|
|
A.3.2 sun |
348 |
|
|
A.3.3 eclipse |
348 |
|
|
A.4 specs |
349 |
|
|
B Links |
350 |
|
|
B.1 Allgemein |
350 |
|
|
B.2 Java GUI-Programmierung |
352 |
|
|
B.3 Ein-/Ausgabe |
352 |
|
|
B.4 Java Plugin und WebStart |
352 |
|
|
B.5 XML und Web-Services |
353 |
|
|
B.6 Optimieren und testen |
355 |
|
|
B.7 Java-Sicherheit |
355 |
|
|
B.8 Enterprise Java |
356 |
|
|
B.9 Zeitschriften und Online-Magazine |
357 |
|
|
B.10 Java zum Download |
357 |
|
|
C Das SOAP-Schema |
358 |
|
|
D Die Sun-Lizenzen |
362 |
|
|
D.1 Java 1.4-Lizenz |
362 |
|
|
D.2 Java WSDP 1.3-Lizenz |
368 |
|
|
LICENSE TO EVALUATE EA SOFTWARE: |
369 |
|
|
LICENSE TO USE FCS SOFTWARE: |
369 |
|
|
EVALUATION TERMS |
369 |
|
|
I. LICENSE TO EVALUATE. |
370 |
|
|
II. DUTIES. |
370 |
|
|
III. CONFIDENTIAL INFORMATION. |
370 |
|
|
IV. TERMINATION AND/OR EXPIRATION. |
371 |
|
|
V. NO SUPPORT. |
371 |
|
|
VI. LIMITATION OF LIABILITY. |
371 |
|
|
VII. NO SUPPLEMENTAL TERMS. |
372 |
|
|
VIII. Trademarks and Logos. |
372 |
|
|
IX. Source Code. |
372 |
|
|
X. Third Party Licenses. |
372 |
|
|
XI. Termination for Infringement. |
372 |
|
|
Binary Code License Agreement |
373 |
|
|
SUPPLEMENTAL LICENSE TERMS |
375 |
|
|
E Die Apache-Lizenz |
378 |
|
|
F Die Eclipse-Lizenz Common Public License - v 1.0 |
380 |
|
|
1. DEFINITIONS |
380 |
|
|
2. GRANT OF RIGHTS |
381 |
|
|
3. REQUIREMENTS |
382 |
|
|
4. COMMERCIAL DISTRIBUTION |
383 |
|
|
5. NO WARRANTY |
384 |
|
|
6. DISCLAIMER OF LIABILITY |
384 |
|
|
7. GENERAL |
384 |
|
|
Glossar |
386 |
|
|
Index |
394 |
|