Handbuch der Java-Programmierung - Standard Edition 7
von: Guido Krüger, Heiko Hansen
Addison-Wesley Verlag, 2012
ISBN: 9783863241469
Sprache: Deutsch
1410 Seiten, Download: 10894 KB
Format: EPUB, PDF, auch als Online-Lesen
Handbuch der Java Programmierung, 7.Auflage | 1 | ||
Guido Krüger, Heiko Hansen | 4 | ||
Impressum | 5 | ||
Inhaltsverzeichnis | 6 | ||
Vorwort | 28 | ||
Die Icons in diesem  | 34 | ||
Teil I Einleitung | 36 | ||
1 Was ist Java? | 38 | ||
1.1 Historie | 38 | ||
1.2 Eigenschaften von Java | 45 | ||
1.2.1 Sprachmerkmale | 45 | ||
1.2.2 Applets: eine neue Klasse von Programmen | 47 | ||
1.2.3 Grafikprogrammierung | 48 | ||
1.2.4 Umfangreiche Klassenbibliothek | 49 | ||
1.3 Zusammenfassung | 50 | ||
2 Schnelleinstieg | 52 | ||
2.1 Installation des JDK | 52 | ||
2.1.1 Hardware-Voraussetzungen | 52 | ||
2.1.2 Installation | 53 | ||
2.2 Erste Gehversuche | 55 | ||
2.2.1 Quelltext erstellen, ubersetzen und ausfuhren | 55 | ||
2.2.2 Die Beispielprogramme | 59 | ||
2.3 Tipps fur eigene Experimente | 60 | ||
2.3.1 Der Entwicklungszyklus in Kurzform | 60 | ||
2.3.2 Einfache Ausgaben | 61 | ||
2.3.3 Einfache Eingaben | 62 | ||
2.3.4 Formatierung der Quelltexte | 63 | ||
2.3.5 Namenskonventionen | 65 | ||
2.3.6 Aufruf von Java-Programmen unter Windows | 65 | ||
2.3.7 Troubleshooting | 67 | ||
2.4 Zusammenfassung | 70 | ||
3 Integrierte Entwicklungsumgebungen | 72 | ||
3.1 Einleitung | 72 | ||
3.2 Eclipse | 73 | ||
3.2.1 Überblick | 73 | ||
3.2.2 Installation | 74 | ||
3.2.3 Erste Schritte | 74 | ||
3.3 Netbeans IDE | 80 | ||
3.3.1 Überblick | 80 | ||
3.3.2 Installation | 81 | ||
3.3.3 Erste Schritte | 82 | ||
3.4 IntelliJ IDEA | 87 | ||
3.4.1 Überblick | 87 | ||
3.4.2 Installation | 87 | ||
3.4.3 Erste Schritte | 87 | ||
3.5 BlueJ | 91 | ||
3.5.1 Überblick | 91 | ||
3.5.2 Installation | 91 | ||
3.5.3 Erste Schritte | 93 | ||
3.6 Zusammenfassung | 97 | ||
4 Wie geht es weiter? | 98 | ||
4.1 Wie sollte man dieses Buch lesen? | 98 | ||
4.1.1 Zu welchem Typ Leser gehören Sie? | 98 | ||
4.1.2 Was ist der Inhalt der einzelnen Kapitel? | 100 | ||
4.1.3 Wie geht es nun weiter? | 102 | ||
4.2 Weiterfuhrende Informationen | 103 | ||
4.2.1 Die Dokumentation des JDK | 103 | ||
4.2.2 Informationen im Internet | 104 | ||
4.2.3 Die HTML-Ausgabe | 106 | ||
4.2.4 Die im Buch verwendete UML-Notation | 110 | ||
4.3 Zusammenfassung | 111 | ||
Teil II Grundlagen der Sprache | 112 | ||
5 Datentypen | 114 | ||
5.1 Lexikalische Elemente eines Java-Programms | 114 | ||
5.1.1 Eingabezeichen | 114 | ||
5.1.2 Kommentare | 115 | ||
5.1.3 Bezeichner | 116 | ||
5.1.4 Weitere Unterschiede zu C | 116 | ||
5.2 Primitive Datentypen | 116 | ||
5.2.1 Der logische Typ | 118 | ||
5.2.2 Der Zeichentyp | 118 | ||
5.2.3 Die integralen Typen | 119 | ||
5.2.4 Die Fließkommazahlen | 120 | ||
5.3 Variablen | 121 | ||
5.3.1 Grundeigenschaften | 121 | ||
5.3.2 Deklaration von Variablen | 122 | ||
5.3.3 Lebensdauer/Sichtbarkeit | 123 | ||
5.4 Arrays | 124 | ||
5.4.1 Deklaration und Initialisierung | 124 | ||
5.4.2 Zugriff auf Array-Elemente | 125 | ||
5.4.3 Mehrdimensionale Arrays | 126 | ||
5.5 Referenztypen | 128 | ||
5.5.1 Beschreibung | 128 | ||
5.5.2 Speichermanagement | 129 | ||
5.6 Typkonvertierungen | 129 | ||
5.6.1 Standardkonvertierungen | 129 | ||
5.6.2 Vorzeichenlose Bytes | 130 | ||
5.7 Zusammenfassung | 133 | ||
6 Ausdrucke | 134 | ||
6.1 Eigenschaften von Ausdrucken | 134 | ||
6.2 Arithmetische Operatoren | 136 | ||
6.3 Relationale Operatoren | 137 | ||
6.4 Logische Operatoren | 138 | ||
6.5 Bitweise Operatoren | 139 | ||
6.6 Zuweisungsoperatoren | 140 | ||
6.7 Sonstige Operatoren | 141 | ||
6.7.1 Weitere Operatoren fur primitive Typen | 141 | ||
6.7.2 Operatoren fur Objekte | 142 | ||
6.7.3 Welche Operatoren es nicht gibt | 146 | ||
6.8 Operator-Vorrangregeln | 146 | ||
6.9 Zusammenfassung | 150 | ||
7 Anweisungen | 152 | ||
7.1 Elementare Anweisungen | 152 | ||
7.1.1 Die leere Anweisung | 152 | ||
7.1.2 Der Block | 153 | ||
7.1.3 Variablendeklarationen | 153 | ||
7.1.4 Ausdrucksanweisungen | 154 | ||
7.2 Verzweigungen | 155 | ||
7.2.1 Die if-Anweisung | 155 | ||
7.2.2 Die switch-Anweisung | 157 | ||
7.3 Schleifen | 158 | ||
7.3.1 Die while-Schleife | 158 | ||
7.3.2 Die do-Schleife | 158 | ||
7.3.3 Die for-Schleife | 159 | ||
7.4 Sonstige Anweisungen | 163 | ||
7.4.1 Die assert-Anweisung | 163 | ||
7.5 Zusammenfassung | 169 | ||
Teil III Objektorientierte Programmierung | 170 | ||
8 OOP I: Grundlagen | 172 | ||
8.1 Konzepte objektorientierter Programmiersprachen | 172 | ||
8.1.1 Einfuhrung | 172 | ||
8.1.2 Abstraktion | 173 | ||
8.1.3 Kapselung | 174 | ||
8.1.4 Wiederverwendung | 174 | ||
8.1.5 Beziehungen | 175 | ||
8.1.6 Polymorphismus | 178 | ||
8.1.7 Fazit | 179 | ||
8.2 Klassen und Objekte in Java | 179 | ||
8.2.1 Klassen | 179 | ||
8.2.2 Objekte | 180 | ||
8.3 Methoden | 181 | ||
8.3.1 Definition | 181 | ||
8.3.2 Aufruf | 182 | ||
8.3.3 Parameter | 183 | ||
8.3.4 Variable Parameterlisten | 184 | ||
8.3.5 Ruckgabewert | 186 | ||
8.3.6 Überladen von Methoden | 186 | ||
8.3.7 Konstruktoren | 187 | ||
8.3.8 Destruktoren | 191 | ||
8.4 Zusammenfassung | 192 | ||
9 OOP II: Vererbung, Polymorphismus und statische Elemente | 194 | ||
9.1 Vererbung | 194 | ||
9.1.1 Ableiten einer Klasse | 195 | ||
9.1.2 Die Klasse Object | 196 | ||
9.1.3 Überlagern von Methoden | 196 | ||
9.1.4 Vererbung von Konstruktoren | 198 | ||
9.2 Modifier | 199 | ||
9.2.1 Sichtbarkeit | 200 | ||
9.2.2 Die Attribute im Überblick | 200 | ||
9.3 Statische Methoden und Membervariablen | 203 | ||
9.3.1 Klassenvariablen | 203 | ||
9.3.2 Konstanten | 205 | ||
9.3.3 Klassenmethoden | 205 | ||
9.3.4 Statische Initialisierer | 207 | ||
9.4 Abstrakte Klassen und Polymorphismus | 207 | ||
9.4.1 Abstrakte Klassen | 207 | ||
9.4.2 Ein Beispiel fur Polymorphismus | 208 | ||
9.4.3 Polymorphe Methodenaufrufe in Konstruktoren | 211 | ||
9.5 Zusammenfassung | 213 | ||
10 OOP III: Interfaces | 214 | ||
10.1 Grundlagen | 214 | ||
10.1.1 Definition eines Interface | 215 | ||
10.1.2 Implementierung eines Interface | 215 | ||
10.1.3 Verwenden eines Interface | 218 | ||
10.2 Das Interface Comparable | 219 | ||
10.3 Mehrfachimplementierung und Vererbung | 222 | ||
10.3.1 Mehrfachimplementierung | 222 | ||
10.3.2 Vererbung von Interfaces | 223 | ||
10.3.3 Ableiten von Interfaces | 223 | ||
10.4 Weitere Anwendungen von Interfaces | 224 | ||
10.4.1 Konstanten in Interfaces | 224 | ||
10.4.2 Implementierung von Flags | 226 | ||
10.4.3 Nachbildung von Funktionszeigern | 227 | ||
10.5 Interfaces und Hilfsklassen | 229 | ||
10.5.1 Die Default-Implementierung | 230 | ||
10.5.2 Delegation an die Default-Implementierung | 231 | ||
10.5.3 Die leere Implementierung | 232 | ||
10.6 Zusammenfassung | 233 | ||
11 OOP IV: Verschiedenes | 234 | ||
11.1 Lokale und anonyme Klassen | 234 | ||
11.1.1 Grundlagen | 234 | ||
11.1.2 Nichtstatische lokale Klassen | 235 | ||
11.1.3 Anonyme Klassen | 238 | ||
11.1.4 Statische lokale Klassen | 239 | ||
11.2 Wrapper-Klassen | 240 | ||
11.2.1 Vordefinierte Wrapper-Klassen | 240 | ||
11.2.2 Call by Reference | 244 | ||
11.2.3 Autoboxing und Autounboxing | 245 | ||
11.3 Aufzählungstypen | 246 | ||
11.3.1 Grundlagen | 246 | ||
11.3.2 Erweiterung der Aufzählungsklasse | 249 | ||
11.4 Design-Patterns | 250 | ||
11.4.1 Singleton | 251 | ||
11.4.2 Immutable | 252 | ||
11.4.3 Interface | 253 | ||
11.4.4 Factory | 254 | ||
11.4.5 Iterator | 261 | ||
11.4.6 Delegate | 264 | ||
11.4.7 Composite | 267 | ||
11.4.8 Visitor | 270 | ||
11.4.9 Observer | 275 | ||
11.5 Zusammenfassung | 279 | ||
Teil IV Weiterfuhrende Spracheigenschaften | 280 | ||
12 Strings | 282 | ||
12.1 Grundlegende Eigenschaften | 282 | ||
12.2 Methoden der Klasse String | 283 | ||
12.2.1 Konstruktoren | 283 | ||
12.2.2 Zeichenextraktion | 284 | ||
12.2.3 Die Länge der Zeichenkette | 285 | ||
12.2.4 Vergleichen von Zeichenketten | 286 | ||
12.2.5 Suchen in Zeichenketten | 287 | ||
12.2.6 Ersetzen von Zeichenketten | 288 | ||
12.2.7 Zerlegen von Zeichenketten | 289 | ||
12.2.8 Konvertierungsfunktionen | 289 | ||
12.3 Weitere Eigenschaften | 290 | ||
12.3.1 Die Klasse String ist final | 290 | ||
12.3.2 Was ist ein String fur den Compiler? | 290 | ||
12.3.3 String-Objekte sind nicht dynamisch | 292 | ||
12.4 Die Klasse StringBuilder | 292 | ||
12.4.1 Konstruktoren | 292 | ||
12.4.2 Einfugen von Elementen | 293 | ||
12.4.3 Löschen von Elementen | 293 | ||
12.4.4 Verändern von Elementen | 293 | ||
12.4.5 Längeninformationen | 294 | ||
12.4.6 Konvertierung in einen String | 294 | ||
12.5 Das Interface CharSequence | 294 | ||
12.5.1 Parameterubergabe von beliebigen Zeichenketten | 294 | ||
12.6 Ausgabeformatierung | 295 | ||
12.6.1 Grundlagen | 295 | ||
12.6.2 Die Formatangaben | 297 | ||
12.7 Zusammenfassung | 300 | ||
13 Exceptions | 302 | ||
13.1 Grundlagen und Begriffe | 302 | ||
13.2 Behandlung von Exceptions | 303 | ||
13.2.1 Die try-catch-Anweisung | 303 | ||
13.2.2 Das Fehlerobjekt | 305 | ||
13.2.3 Die Fehlerklassen von Java | 306 | ||
13.2.4 Fortfahren nach Fehlern | 307 | ||
13.2.5 Mehr als eine catch-Klausel | 308 | ||
13.2.6 Mehrere catch-Klauseln zusammenfassen | 309 | ||
13.2.7 Exakter Weiterwurf von Exceptions | 310 | ||
13.2.8 Die finally-Klausel | 311 | ||
13.3 Weitergabe von Exceptions | 312 | ||
13.3.1 Die catch-or-throw-Regel | 312 | ||
13.3.2 Weitergabe einer Exception | 313 | ||
13.3.3 Auslösen von Ausnahmen | 313 | ||
13.4 Automatisches Schließen von Ressourcen | 315 | ||
13.5 Zusammenfassung | 317 | ||
14 Strukturierung von Java-Programmen | 318 | ||
14.1 Programmelemente | 318 | ||
14.1.1 Anweisungen | 319 | ||
14.1.2 Blöcke | 319 | ||
14.1.3 Methoden | 321 | ||
14.1.4 Klassen | 322 | ||
14.1.5 Pakete | 322 | ||
14.1.6 Applikationen | 322 | ||
14.1.7 Applets | 323 | ||
14.2 Pakete | 323 | ||
14.2.1 Verwendung von Paketen | 323 | ||
14.2.2 Die Bedeutung der Paketnamen | 326 | ||
14.2.3 Einbinden zusätzlicher Pakete | 327 | ||
14.2.4 Erstellen eigener Pakete | 328 | ||
14.3 Der Entwicklungszyklus | 331 | ||
14.3.1 Schematische Darstellung | 331 | ||
14.3.2 Projektverwaltung | 333 | ||
14.4 Auslieferung von Java-Programmen | 334 | ||
14.4.1 Weitergabe des Bytecodes | 334 | ||
14.4.2 Einbinden von Ressourcendateien | 337 | ||
14.5 Java Web Start | 340 | ||
14.5.1 Einleitung und Funktionsweise | 340 | ||
14.5.2 Erstellen einer WebStart-Applikation | 342 | ||
14.5.3 Das jnlp-API | 347 | ||
14.6 Zusammenfassung | 351 | ||
15 Collections I | 352 | ||
15.1 Grundlagen und Konzepte | 352 | ||
15.2 Die Klasse Vector | 353 | ||
15.2.1 Einfugen von Elementen | 353 | ||
15.2.2 Zugriff auf Elemente | 354 | ||
15.2.3 Der Vektor als Iterator | 355 | ||
15.3 Die Klasse Stack | 356 | ||
15.4 Die Klasse Hashtable | 358 | ||
15.4.1 Einfugen von Elementen | 358 | ||
15.4.2 Zugriff auf Elemente | 359 | ||
15.4.3 Hashtable als Iterator | 359 | ||
15.4.4 Die Klasse Properties | 360 | ||
15.5 Die Klasse BitSet | 362 | ||
15.5.1 Elementweise Operationen | 362 | ||
15.5.2 Mengenorientierte Operationen | 362 | ||
15.6 Zusammenfassung | 364 | ||
16 Collections II | 366 | ||
16.1 Grundlagen und Konzepte | 366 | ||
16.2 Die Collection des Typs List | 369 | ||
16.2.1 Abstrakte Eigenschaften | 369 | ||
16.2.2 Implementierungen | 370 | ||
16.3 Iteratoren | 372 | ||
16.3.1 Das Interface Iterator | 372 | ||
16.3.2 Das Interface ListIterator | 374 | ||
16.4 Die Collection des Typs Set | 375 | ||
16.4.1 Abstrakte Eigenschaften | 375 | ||
16.4.2 Implementierungen | 376 | ||
16.5 Die Collection des Typs Map | 377 | ||
16.5.1 Abstrakte Eigenschaften | 377 | ||
16.5.2 Implementierungen | 378 | ||
16.6 Sortierte Collections | 380 | ||
16.6.1 Comparable und Comparator | 380 | ||
16.6.2 SortedSet und TreeSet | 381 | ||
16.6.3 SortedMap und TreeMap | 384 | ||
16.7 Die Klasse Collections | 384 | ||
16.7.1 Sortieren und Suchen | 385 | ||
16.7.2 Synchronisieren von Collections | 386 | ||
16.7.3 Erzeugen unveränderlicher Collections | 387 | ||
16.8 Typisierte Klassen und generische Collections | 387 | ||
16.8.1 Grundlagen | 387 | ||
16.8.2 Collections mit mehreren Typparametern | 390 | ||
16.8.3 Eine eigene typisierte Listenklasse | 391 | ||
16.8.4 Typkompatibilität | 395 | ||
16.8.5 Sonstiges | 398 | ||
16.9 Zusammenfassung | 400 | ||
17 Utility-Klassen I | 402 | ||
17.1 Die Klasse Random | 402 | ||
17.1.1 Initialisierung des Zufallszahlengenerators | 402 | ||
17.1.2 Erzeugen von Zufallszahlen | 403 | ||
17.2 Die Klassen Date, Calendar und GregorianCalendar | 405 | ||
17.2.1 Konstruktoren | 406 | ||
17.2.2 Abfragen und Setzen von Datumsbestandteilen | 406 | ||
17.2.3 Vergleiche und Datums-/Zeitarithmetik | 411 | ||
17.2.4 Umwandlung zwischen Date und Calendar | 413 | ||
17.3 Die Klasse System | 413 | ||
17.3.1 System-Properties | 414 | ||
17.3.2 in, err und out | 416 | ||
17.3.3 exit | 416 | ||
17.3.4 gc | 417 | ||
17.3.5 currentTimeMillis | 417 | ||
17.3.6 arraycopy | 421 | ||
17.4 Die Klasse RunTime | 422 | ||
17.4.1 Grundlagen | 422 | ||
17.4.2 Interaktion mit dem externen Programm | 423 | ||
17.5 Die Klasse Arrays | 427 | ||
17.6 Zusammenfassung | 429 | ||
18 Utility-Klassen II | 430 | ||
18.1 Reguläre Ausdrucke | 430 | ||
18.1.1 Die Klasse Pattern | 431 | ||
18.1.2 Die Klasse Matcher | 431 | ||
18.1.3 Vergleich einer Zeichenkette mit einem regulären Ausdruck | 432 | ||
18.1.4 Teilen einer Zeichenkette mit einem regulären Ausdruck | 433 | ||
18.2 Die Klasse Math | 434 | ||
18.2.1 Winkelfunktionen | 434 | ||
18.2.2 Minimum und Maximum | 434 | ||
18.2.3 Arithmetik | 435 | ||
18.2.4 Runden und Abschneiden | 435 | ||
18.3 Die Klassen BigInteger und BigDecimal | 436 | ||
18.3.1 Die Klasse BigInteger | 436 | ||
18.3.2 Die Klasse BigDecimal | 438 | ||
18.4 Internationalisierung und Lokalisierung | 441 | ||
18.4.1 Die Klasse Locale | 442 | ||
18.4.2 Zahlen formatieren | 444 | ||
18.4.3 Datum und Uhrzeit formatieren | 447 | ||
18.4.4 Laden von Ressourcen | 449 | ||
18.5 Zusammenfassung | 455 | ||
19 Character-Streams | 456 | ||
19.1 Allgemeine Konzepte | 456 | ||
19.2 Ausgabe-Streams | 458 | ||
19.2.1 Die abstrakte Klasse Writer | 458 | ||
19.2.2 Auswahl des Ausgabegeräts | 458 | ||
19.2.3 Schachteln von Ausgabe-Streams | 462 | ||
19.3 Eingabe-Streams | 469 | ||
19.3.1 Die abstrakte Klasse Reader | 469 | ||
19.3.2 Auswahl des Eingabegeräts | 470 | ||
19.3.3 Schachteln von Eingabe-Streams | 473 | ||
19.4 Zusammenfassung | 476 | ||
20 Byte-Streams | 478 | ||
20.1 Architektur und Vergleich mit Character-Streams | 478 | ||
20.2 Ausgabe-Streams | 479 | ||
20.2.1 Die Basisklasse OutputStream | 479 | ||
20.2.2 Aus OutputStream direkt abgeleitete Klassen | 479 | ||
20.2.3 Aus FilterOutputStream abgeleitete Klassen | 481 | ||
20.3 Eingabe-Streams | 486 | ||
20.3.1 Die Basisklasse InputStream | 486 | ||
20.3.2 Aus InputStream direkt abgeleitete Klassen | 487 | ||
20.3.3 Aus FilterInputStream abgeleitete Klassen | 489 | ||
20.4 Zusammenfassung | 494 | ||
21 Random-Access-I/O | 496 | ||
21.1 Grundlegende Operationen | 496 | ||
21.2 Navigation in der Datei | 497 | ||
21.2.1 Positionierung des Dateizeigers | 497 | ||
21.2.2 Die Länge der Datei | 498 | ||
21.3 Lesezugriffe | 499 | ||
21.4 Schreibzugriffe | 501 | ||
21.5 Zusammenfassung | 503 | ||
22 Datei- und Verzeichnis-Handling | 504 | ||
22.1 Konstruktion eines File-Objekts | 504 | ||
22.2 Zugriff auf Teile des Pfadnamens | 505 | ||
22.3 Informationen uber die Datei | 506 | ||
22.4 Zugriff auf Verzeichniseinträge | 507 | ||
22.4.1 Lesen von Verzeichniseinträgen | 507 | ||
22.4.2 Ändern von Verzeichniseinträgen | 511 | ||
22.5 Temporäre Dateien und Lockdateien | 513 | ||
22.5.1 Temporäre Dateien | 513 | ||
22.5.2 Lockdateien | 514 | ||
22.6 Zusammenfassung | 515 | ||
23 Multithreading | 516 | ||
23.1 Grundlagen und Begriffe | 516 | ||
23.2 Die Klasse Thread | 517 | ||
23.2.1 Erzeugen eines neuen Threads | 517 | ||
23.2.2 Abbrechen eines Threads | 519 | ||
23.2.3 Weitere Methoden | 522 | ||
23.3 Das Interface Runnable | 523 | ||
23.3.1 Implementieren von Runnable | 524 | ||
23.3.2 Multithreading durch Wrapper-Klassen | 525 | ||
23.4 Synchronisation | 529 | ||
23.4.1 Synchronisationsprobleme | 529 | ||
23.4.2 Monitore | 532 | ||
23.4.3 wait und notify | 536 | ||
23.4.4 BlockingQueue | 539 | ||
23.4.5 PipedInputStream und PipedOutputStream | 541 | ||
23.5 Verwalten von Threads | 543 | ||
23.5.1 Priorität und Name | 543 | ||
23.5.2 Thread-Gruppen | 544 | ||
23.6 Zusammenfassung | 545 | ||
Teil V Grafikprogrammierung mit dem AWT | 546 | ||
24 Grafikausgabe | 548 | ||
24.1 Das Abstract Windowing Toolkit | 548 | ||
24.1.1 Grundlegende Eigenschaften | 548 | ||
24.1.2 Von AWT nach Swing | 549 | ||
24.2 Grundlagen der Grafikausgabe | 550 | ||
24.2.1 Anlegen eines Fensters | 550 | ||
24.2.2 Die Methode paint | 551 | ||
24.2.3 Das grafische Koordinatensystem | 552 | ||
24.2.4 Schließen eines Fensters | 552 | ||
24.3 Elementare Grafikroutinen | 554 | ||
24.3.1 Linie | 556 | ||
24.3.2 Rechteck | 557 | ||
24.3.3 Polygon | 558 | ||
24.3.4 Kreis | 560 | ||
24.3.5 Kreisbogen | 561 | ||
24.4 Weiterfuhrende Funktionen | 562 | ||
24.4.1 Linien- oder Fullmodus | 562 | ||
24.4.2 Kopieren und Löschen von Flächen | 564 | ||
24.4.3 Die Clipping-Region | 566 | ||
24.5 Zusammenfassung | 568 | ||
25 Textausgabe | 570 | ||
25.1 Ausgabefunktionen | 570 | ||
25.2 Unterschiedliche Schriftarten | 573 | ||
25.2.1 Font-Objekte | 573 | ||
25.2.2 Standardschriftarten | 575 | ||
25.3 Eigenschaften von Schriftarten | 576 | ||
25.3.1 Font-Informationen | 576 | ||
25.3.2 Font-Metriken | 577 | ||
25.4 Zusammenfassung | 581 | ||
26 Farben | 582 | ||
26.1 Das Java-Farbmodell | 582 | ||
26.2 Erzeugen von Farben | 583 | ||
26.3 Verwenden von Farben | 584 | ||
26.4 Systemfarben | 586 | ||
26.5 Zusammenfassung | 589 | ||
27 Fenster | 590 | ||
27.1 Die verschiedenen Fensterklassen | 590 | ||
27.2 Aufrufen und Schließen eines Fensters | 592 | ||
27.3 Visuelle Eigenschaften | 594 | ||
27.4 Anzeigezustand | 596 | ||
27.5 Fensterelemente | 597 | ||
27.5.1 Der Fenstertitel | 598 | ||
27.5.2 Das Icon des Fensters | 598 | ||
27.5.3 Der Mauscursor | 598 | ||
27.5.4 Die Vorder- und Hintergrundfarbe | 599 | ||
27.5.5 Der Standard-Font | 599 | ||
27.6 Zusammenfassung | 602 | ||
28 Event-Handling | 604 | ||
28.1 Das Event-Handling seit dem JDK 1.1 | 604 | ||
28.1.1 Grundlagen | 604 | ||
28.1.2 Ereignistypen | 606 | ||
28.1.3 Ereignisempfänger | 607 | ||
28.1.4 Ereignisquellen | 608 | ||
28.1.5 Adapterklassen | 609 | ||
28.1.6 Zusammenfassung | 609 | ||
28.2 Entwurfsmuster fur den Nachrichtenverkehr | 614 | ||
28.2.1 Variante 1: Implementierung eines EventListener-Interface | 616 | ||
28.2.2 Variante 2: Lokale und anonyme Klassen | 618 | ||
28.2.3 Variante 3: Trennung von GUI- und Anwendungscode | 621 | ||
28.2.4 Variante 4: Überlagern der Event-Handler in den Komponenten | 623 | ||
28.2.5 Ausblick | 625 | ||
28.3 Zusammenfassung | 626 | ||
29 Low-Level-Events | 628 | ||
29.1 Window-Events | 628 | ||
29.2 Component-Events | 631 | ||
29.3 Mouse-Events | 634 | ||
29.4 MouseMotion-Events | 638 | ||
29.5 Focus-Events | 641 | ||
29.6 Key-Events | 644 | ||
29.7 Zusammenfassung | 650 | ||
30 Menus | 652 | ||
30.1 Grundlagen | 652 | ||
30.2 Menuleiste | 653 | ||
30.3 Menus | 654 | ||
30.4 Menueinträge | 655 | ||
30.4.1 Einfache Menueinträge | 655 | ||
30.4.2 CheckboxMenuItem | 655 | ||
30.4.3 Beschleunigertasten | 658 | ||
30.4.4 Untermenus | 661 | ||
30.5 Action-Events | 663 | ||
30.6 Kontextmenus | 667 | ||
30.7 Datenaustausch mit der Zwischenablage | 670 | ||
30.7.1 Überblick | 670 | ||
30.7.2 Kommunikation mit der Zwischenablage | 671 | ||
30.8 Zusammenfassung | 674 | ||
31 GUI-Dialoge | 676 | ||
31.1 Erstellen eines Dialogs | 676 | ||
31.1.1 Anlegen eines Dialogfensters | 677 | ||
31.1.2 Zuordnen eines Layoutmanagers | 677 | ||
31.1.3 Einfugen von Dialogelementen | 678 | ||
31.1.4 Anzeigen des Dialogfensters | 678 | ||
31.2 Die Layoutmanager | 680 | ||
31.2.1 FlowLayout | 681 | ||
31.2.2 GridLayout | 682 | ||
31.2.3 BorderLayout | 685 | ||
31.2.4 GridBagLayout | 687 | ||
31.2.5 NULL-Layout | 693 | ||
31.2.6 Schachteln von Layoutmanagern | 694 | ||
31.3 Modale Dialoge | 697 | ||
31.4 Zusammenfassung | 705 | ||
32 AWT-Dialogelemente | 706 | ||
32.1 Einleitung | 706 | ||
32.2 Rahmenprogramm | 707 | ||
32.3 Label | 710 | ||
32.4 Button | 711 | ||
32.5 Checkbox | 711 | ||
32.6 CheckboxGroup | 713 | ||
32.7 TextField | 715 | ||
32.8 TextArea | 719 | ||
32.9 Choice | 720 | ||
32.10 List | 723 | ||
32.11 Scrollbar | 725 | ||
32.12 ScrollPane | 729 | ||
32.13 Zusammenfassung | 735 | ||
33 Eigene Dialogelemente | 736 | ||
33.1 Die Klasse Canvas | 736 | ||
33.2 Entwicklung einer 7-Segment-Anzeige | 737 | ||
33.2.1 Anforderungen | 737 | ||
33.2.2 Bildschirmanzeige | 738 | ||
33.2.3 Ereignisbehandlung | 739 | ||
33.3 Einbinden der Komponente | 744 | ||
33.4 Zusammenfassung | 747 | ||
34 Bitmaps und Animationen | 748 | ||
34.1 Bitmaps | 748 | ||
34.1.1 Laden und Anzeigen einer Bitmap | 748 | ||
34.1.2 Entwicklung einer eigenen Bitmap-Komponente | 752 | ||
34.2 Animation | 754 | ||
34.2.1 Prinzipielle Vorgehensweise | 754 | ||
34.2.2 Abspielen einer Folge von Bitmaps | 758 | ||
34.2.3 Animation mit Grafikprimitiven | 761 | ||
34.2.4 Reduktion des Bildschirmflackerns | 766 | ||
34.3 Zusammenfassung | 776 | ||
35 Drucken | 778 | ||
35.1 Einleitung | 778 | ||
35.2 Drucken mit dem Java 2D Printing API | 779 | ||
35.2.1 Überblick | 779 | ||
35.2.2 Zusammenspiel der Klassen | 779 | ||
35.2.3 Ausdrucken einer Textdatei | 785 | ||
35.3 Drucken mit dem Java Print Service API | 790 | ||
35.3.1 Überblick | 790 | ||
35.3.2 Ausdrucken einer Textdatei | 793 | ||
35.4 Drucken mit dem Desktop API | 794 | ||
35.5 Zusammenfassung | 796 | ||
Teil VI Grafikprogrammierung mit Swing | 798 | ||
36 Swing: Grundlagen | 800 | ||
36.1 Eigenschaften und Architektur von Swing | 800 | ||
36.1.1 Einleitung | 800 | ||
36.1.2 Eigenschaften von Swing | 801 | ||
36.1.3 Wie geht es weiter? | 803 | ||
36.2 Ein einfuhrendes Beispiel | 804 | ||
36.2.1 Das Beispielprogramm | 804 | ||
36.2.2 Beschreibung des Beispielprogramms | 806 | ||
36.3 Zusammenfassung | 812 | ||
37 Swing: Container und Menus | 814 | ||
37.1 Hauptfenster | 814 | ||
37.1.1 JFrame | 814 | ||
37.1.2 JWindow | 818 | ||
37.1.3 JDialog | 821 | ||
37.1.4 JOptionPane | 821 | ||
37.1.5 JApplet | 826 | ||
37.1.6 JInternalFrame | 827 | ||
37.2 Menus | 831 | ||
37.2.1 Einfache Menus | 831 | ||
37.2.2 Grundlagen von Swing-Menus | 831 | ||
37.2.3 Weitere Möglichkeiten | 836 | ||
37.2.4 Kontextmenus | 840 | ||
37.3 Weitere Swing-Container | 843 | ||
37.3.1 JComponent | 843 | ||
37.3.2 JPanel und JLayeredPane | 856 | ||
37.4 Zusammenfassung | 856 | ||
38 Swing: Komponenten I | 858 | ||
38.1 Label und Textfelder | 858 | ||
38.1.1 JLabel | 858 | ||
38.1.2 JTextField | 861 | ||
38.1.3 JFormattedTextField | 864 | ||
38.1.4 JPasswordField | 864 | ||
38.1.5 JTextArea | 864 | ||
38.1.6 JSpinner | 867 | ||
38.2 Buttons | 869 | ||
38.2.1 JButton | 869 | ||
38.2.2 JCheckBox | 872 | ||
38.2.3 JRadioButton | 874 | ||
38.3 Listen und Comboboxen | 876 | ||
38.3.1 JList | 876 | ||
38.3.2 JComboBox | 880 | ||
38.4 Quasi-analoge Komponenten | 883 | ||
38.4.1 JScrollBar | 883 | ||
38.4.2 JSlider | 886 | ||
38.4.3 JProgressBar | 889 | ||
38.5 JLayer | 892 | ||
38.6 Zusammenfassung | 895 | ||
39 Swing: Komponenten  | 896 | ||
39.1 Spezielle Panels | 896 | ||
39.1.1 JScrollPane | 896 | ||
39.1.2 JSplitPane | 900 | ||
39.1.3 JTabbedPane | 904 | ||
39.2 JTable | 907 | ||
39.2.1 Erzeugen von Tabellen | 907 | ||
39.2.2 Konfiguration der Tabelle | 910 | ||
39.2.3 Selektieren von Elementen | 911 | ||
39.2.4 Zugriff auf den Inhalt der Tabelle | 913 | ||
39.2.5 Das Tabellenmodell | 914 | ||
39.2.6 Das Spaltenmodell | 919 | ||
39.2.7 Rendering der Zellen | 921 | ||
39.2.8 Reaktion auf Ereignisse | 925 | ||
39.3 JTree | 925 | ||
39.3.1 Erzeugen eines Baums | 925 | ||
39.3.2 Selektieren von Knoten | 929 | ||
39.3.3 Öffnen und Schließen der Knoten | 932 | ||
39.3.4 Verändern der Baumstruktur | 933 | ||
39.4 Zusammenfassung | 937 | ||
Teil VII Applets | 938 | ||
40 Applets I | 940 | ||
40.1 Die Architektur eines Applets | 940 | ||
40.1.1 Grundlagen | 940 | ||
40.1.2 Die Klasse java.applet.Applet | 941 | ||
40.1.3 Initialisierung und Endebehandlung | 942 | ||
40.1.4 Weitere Methoden der Klasse Applet | 944 | ||
40.2 Einbinden eines Applets | 945 | ||
40.2.1 Das APPLET-Tag | 945 | ||
40.2.2 Die Parameter des Applet-Tags | 946 | ||
40.2.3 Parameterubergabe an Applets | 947 | ||
40.3 Die Ausgabe von Sound | 950 | ||
40.3.1 Soundausgabe in Applets | 950 | ||
40.3.2 Soundausgabe in Applikationen | 952 | ||
40.4 Animation in Applets | 953 | ||
40.5 Zusammenfassung | 959 | ||
41 Applets II | 960 | ||
41.1 Verweise auf andere Seiten | 960 | ||
41.1.1 Die Klasse URL | 960 | ||
41.1.2 Der Applet-Kontext | 962 | ||
41.1.3 Die Methode showDocument | 962 | ||
41.2 Kommunikation zwischen Applets | 966 | ||
41.3 Umwandlung einer Applikation in ein Applet | 969 | ||
41.3.1 Die Beispiel-Applikation | 969 | ||
41.3.2 Variante 1: Das Programm als Popup-Fenster | 971 | ||
41.3.3 Variante 2: Erstellen eines gleichwertigen Applets | 972 | ||
41.4 Das Java-Plugin | 974 | ||
41.4.1 Funktionsweise | 974 | ||
41.4.2 Verwendung des Plugins | 975 | ||
41.5 Zusammenfassung | 977 | ||
Teil VIII Spezielle APIs | 978 | ||
42 Serialisierung | 980 | ||
42.1 Grundlagen | 980 | ||
42.1.1 Begriffsbestimmung | 980 | ||
42.1.2 Schreiben von Objekten | 981 | ||
42.1.3 Lesen von Objekten | 984 | ||
42.2 Weitere Aspekte der Serialisierung | 988 | ||
42.2.1 Versionierung | 988 | ||
42.2.2 Nichtserialisierte Membervariablen | 990 | ||
42.2.3 Objektreferenzen | 991 | ||
42.2.4 Serialisieren von Collections | 995 | ||
42.3 Anwendungen | 995 | ||
42.3.1 Ein einfacher Objektspeicher | 995 | ||
42.3.2 Kopieren von Objekten | 999 | ||
42.4 Zusammenfassung | 1002 | ||
43 XML-Verarbeitung | 1004 | ||
43.1 XML-Grundlagen | 1004 | ||
43.1.1 Aufbau eines XML-Dokuments | 1005 | ||
43.1.2 Document Type Definition | 1007 | ||
43.1.3 XML Schema Definition | 1010 | ||
43.2 Verarbeiten von XML-Dokumenten mit Java | 1013 | ||
43.2.1 Document Object Model - DOM | 1017 | ||
43.2.2 Simple API for XML - SAX | 1022 | ||
43.2.3 Streaming API for XML - StAX | 1027 | ||
43.2.4 Java Architecture for XML Binding - JAXB | 1031 | ||
43.3 Zusammenfassung | 1037 | ||
44 Datenbankzugriffe mit  | 1038 | ||
44.1 Einleitung | 1038 | ||
44.1.1 Grundsätzliche Arbeitsweise | 1039 | ||
44.1.2 Die Architektur von JDBC | 1039 | ||
44.2 Grundlagen von JDBC | 1041 | ||
44.2.1 Öffnen einer Verbindung | 1041 | ||
44.2.2 Erzeugen von Anweisungsobjekten | 1043 | ||
44.2.3 Datenbankabfragen | 1044 | ||
44.2.4 Datenbankänderungen | 1046 | ||
44.2.5 Die Klasse SQLException | 1046 | ||
44.2.6 Die Klasse SQLWarning | 1047 | ||
44.3 Die DirDB-Beispieldatenbank | 1047 | ||
44.3.1 Anforderungen und Design | 1047 | ||
44.3.2 Das Rahmenprogramm | 1049 | ||
44.3.3 Die Verbindung zur Datenbank herstellen | 1051 | ||
44.3.4 Anlegen und Fullen der Tabellen | 1053 | ||
44.3.5 Zählen der Verzeichnisse und Dateien | 1056 | ||
44.3.6 Suchen von Dateien und Verzeichnissen | 1057 | ||
44.3.7 Die zehn größten Dateien | 1060 | ||
44.3.8 Speicherverschwendung durch Clustering | 1060 | ||
44.4 Weiterfuhrende Themen | 1061 | ||
44.4.1 Metadaten | 1062 | ||
44.4.2 Escape-Kommandos | 1062 | ||
44.4.3 Transaktionen | 1063 | ||
44.4.4 JDBC-Datentypen | 1064 | ||
44.4.5 Umgang mit JDBC-Objekten | 1064 | ||
44.4.6 Prepared Statements | 1066 | ||
44.4.7 SQL-Kurzreferenz | 1067 | ||
44.5 Zusammenfassung | 1072 | ||
45 Reflection | 1074 | ||
45.1 Einleitung | 1074 | ||
45.2 Die Klassen Object und Class | 1075 | ||
45.2.1 Die Klasse Object | 1075 | ||
45.2.2 Die Klasse Class | 1075 | ||
45.3 Methoden- und Konstruktorenaufrufe | 1078 | ||
45.3.1 Parameterlose Methoden | 1078 | ||
45.3.2 Parametrisierte Methoden | 1084 | ||
45.3.3 Parametrisierte Konstruktoren | 1087 | ||
45.4 Zugriff auf Membervariablen | 1089 | ||
45.5 Arrays | 1092 | ||
45.5.1 Erzeugen von Arrays | 1092 | ||
45.5.2 Zugriff auf Array-Elemente | 1094 | ||
45.6 Annotationen | 1097 | ||
45.6.1 Grundlagen | 1097 | ||
45.6.2 Eine einfache Annotation | 1098 | ||
45.6.3 Annotationen mit einem Wert | 1099 | ||
45.6.4 Beliebige Schlussel-Wert-Paare in Annotationen | 1099 | ||
45.6.5 Standardwerte fur Attribute | 1101 | ||
45.6.6 Einschränken von Annotationen | 1101 | ||
45.6.7 Auslesen von Annotationen | 1103 | ||
45.7 Zusammenfassung | 1104 | ||
46 Beans | 1106 | ||
46.1 Grundlagen und Begriffe | 1106 | ||
46.2 Entwurf einer einfachen Bean | 1108 | ||
46.2.1 Grundsätzliche Architektur | 1108 | ||
46.2.2 Grafische Darstellung | 1109 | ||
46.2.3 Eigenschaften | 1110 | ||
46.2.4 Implementierung | 1111 | ||
46.2.5 Verwendung der Bean | 1114 | ||
46.3 Die Beanbox | 1115 | ||
46.3.1 Beschreibung und Installation | 1115 | ||
46.3.2 Grundlagen der Bedienung | 1116 | ||
46.3.3 Integration eigener Beans | 1118 | ||
46.3.4 Serialisierte Beans | 1120 | ||
46.4 Bean-Ereignisse | 1122 | ||
46.4.1 Bound Properties | 1122 | ||
46.4.2 Constrained Properties | 1127 | ||
46.4.3 Anwendungsbeispiel | 1131 | ||
46.5 Panel-Beans | 1133 | ||
46.6 BeanInfo-Klassen und Property-Editoren | 1138 | ||
46.6.1 BeanInfo-Klassen | 1138 | ||
46.6.2 Property-Editoren | 1141 | ||
46.7 Zusammenfassung | 1148 | ||
47 Objektorientierte Persistenz | 1150 | ||
47.1 Einleitung | 1150 | ||
47.1.1 Bezug und Installation | 1151 | ||
47.2 Datenbanktabellen und Java-Objekte | 1152 | ||
47.2.1 Eine einfache Java-Klasse fur Tabellen | 1152 | ||
47.2.2 Verknupfen der Java-Klasse mit der Datenbank | 1154 | ||
47.2.3 Konfiguration des Datenbankzugriffs | 1157 | ||
47.3 Verwendung des Java Persistenz API | 1160 | ||
47.3.1 Der EntityManager | 1160 | ||
47.3.2 Transaktionen mit dem EntityManager | 1161 | ||
47.3.3 Anlegen eines neuen Datensatzes | 1162 | ||
47.3.4 Laden eines Datensatzes | 1163 | ||
47.3.5 Löschen eines Datensatzes | 1164 | ||
47.4 Verknupfen von Datensätzen | 1165 | ||
47.4.1 Fortgeschrittenes Modellieren von Datenbanktabellen | 1165 | ||
47.4.2 Modellieren von Relationen | 1174 | ||
47.5 Objektorientierte Datenbankabfragen | 1181 | ||
47.5.1 Suche nach Datensätzen | 1181 | ||
47.5.2 Eigenschaftsbasierte Suche nach Datensätzen | 1183 | ||
47.5.3 Definition von Standardanfragen | 1184 | ||
47.6 Zusammenfassung | 1188 | ||
48 Netzwerkprogrammierung | 1190 | ||
48.1 Grundlagen der Netzwerkprogrammierung | 1190 | ||
48.1.1 Was ist ein Netzwerk? | 1190 | ||
48.1.2 Protokolle | 1191 | ||
48.1.3 Adressierung von Daten | 1193 | ||
48.1.4 Ports und Applikationen | 1194 | ||
48.1.5 Request for Comments | 1196 | ||
48.1.6 Firewalls und Proxys | 1197 | ||
48.2 Client-Sockets | 1198 | ||
48.2.1 Adressierung | 1198 | ||
48.2.2 Aufbau einer einfachen Socket-Verbindung | 1200 | ||
48.2.3 Lesen und Schreiben von Daten | 1202 | ||
48.2.4 Zugriff auf einen Webserver | 1205 | ||
48.3 Server-Sockets | 1210 | ||
48.3.1 Die Klasse ServerSocket | 1210 | ||
48.3.2 Verbindungen zu mehreren Clients | 1212 | ||
48.3.3 Entwicklung eines einfachen Webservers | 1214 | ||
48.4 Daten mit Hilfe der Klasse URL lesen | 1221 | ||
48.5 Zusammenfassung | 1223 | ||
49 Remote Method Invocation | 1224 | ||
49.1 Einleitung | 1224 | ||
49.1.1 Prinzipielle Arbeitsweise | 1224 | ||
49.1.2 Einzelheiten der Kommunikation | 1226 | ||
49.2 Aufbau eines einfachen Uhrzeit-Services | 1227 | ||
49.2.1 Vorgehensweise | 1227 | ||
49.2.2 Das Remote-Interface | 1228 | ||
49.2.3 Implementierung des Remote-Interface | 1229 | ||
49.2.4 Registrieren der Objekte | 1231 | ||
49.2.5 Zugriff auf den Uhrzeit-Service | 1234 | ||
49.2.6 Ausblick | 1237 | ||
49.3 Zusammenfassung | 1238 | ||
50 Sicherheit und Kryptografie | 1240 | ||
50.1 Kryptografische Grundlagen | 1240 | ||
50.1.1 Wichtige Begriffe | 1240 | ||
50.1.2 Einfache Verschlusselungen | 1241 | ||
50.1.3 Message Digests | 1244 | ||
50.1.4 Kryptografische Zufallszahlen | 1247 | ||
50.1.5 Public-Key-Verschlusselung | 1249 | ||
50.1.6 Digitale Unterschriften | 1251 | ||
50.1.7 Zertifikate | 1257 | ||
50.2 Sicherheitsmechanismen in Java | 1259 | ||
50.2.1 Sprachsicherheit | 1259 | ||
50.2.2 Das Sandbox-Konzept | 1259 | ||
50.2.3 Die Policy-Datei | 1260 | ||
50.3 Signierte Applets | 1260 | ||
50.3.1 Ein unerlaubtes Applet | 1261 | ||
50.3.2 Signieren des Applets | 1263 | ||
50.3.3 Ex- und Import von Zertifikaten | 1264 | ||
50.3.4 Anpassen der Policy-Datei | 1265 | ||
50.3.5 Die Klasse SecurityManager | 1268 | ||
50.4 Zusammenfassung | 1270 | ||
51 Sound | 1272 | ||
51.1 Grundlagen und Konzepte | 1272 | ||
51.2 Gesampelter Sound | 1274 | ||
51.2.1 Was ist Sampling? | 1274 | ||
51.2.2 Das Sampling-API | 1275 | ||
51.2.3 Abspielen einer Sample-Datei | 1278 | ||
51.3 Midi | 1281 | ||
51.3.1 Was ist Midi? | 1281 | ||
51.3.2 Grundlegende Klassen des Midi-API | 1282 | ||
51.3.3 Alle meine Entchen - erster Versuch | 1282 | ||
51.3.4 Alle meine Entchen mit dem Sequenzer | 1286 | ||
51.3.5 Zugriff auf Midi-Dateien | 1290 | ||
51.4 Zusammenfassung | 1292 | ||
Teil IX Verschiedenes | 1294 | ||
52 Performance-Tuning | 1296 | ||
52.1 Einleitung | 1296 | ||
52.2 Tuning-Tipps | 1298 | ||
52.2.1 String und StringBuilder | 1298 | ||
52.2.2 Methodenaufrufe | 1302 | ||
52.2.3 Vektoren und Listen | 1303 | ||
52.2.4 Dateizugriffe | 1305 | ||
52.2.5 JDBC | 1309 | ||
52.2.6 Autoboxing und Autounboxing | 1310 | ||
52.2.7 Speicheroptimierung | 1311 | ||
52.3 Einsatz eines Profilers | 1312 | ||
52.3.1 Grundlagen | 1312 | ||
52.3.2 Eine Beispielsitzung mit dem hprof-Profiler | 1314 | ||
52.3.3 Eine Beispielsitzung mit Visual VM | 1319 | ||
52.3.4 Ausblick | 1326 | ||
52.4 Zusammenfassung | 1328 | ||
53 Hilfsprogramme des  | 1330 | ||
53.1 javac der Compiler | 1330 | ||
53.1.1 Aufruf | 1331 | ||
53.1.2 Beschreibung | 1331 | ||
53.1.3 Optionen | 1331 | ||
53.2 java der Interpreter | 1332 | ||
53.2.1 Aufruf | 1332 | ||
53.2.2 Beschreibung | 1333 | ||
53.2.3 Optionen | 1333 | ||
53.3 appletviewer der Appletviewer | 1334 | ||
53.3.1 Aufruf | 1334 | ||
53.3.2 Beschreibung | 1334 | ||
53.3.3 Optionen | 1335 | ||
53.4 jdb der Debugger | 1335 | ||
53.4.1 Aufruf | 1335 | ||
53.4.2 Beschreibung | 1335 | ||
53.4.3 Vorbereitungen | 1335 | ||
53.5 javadoc der Dokumentationsgenerator | 1337 | ||
53.5.1 Aufruf | 1337 | ||
53.5.2 Beschreibung | 1337 | ||
53.5.3 Dokumentationskommentare | 1337 | ||
53.5.4 Aufruf von javadoc | 1338 | ||
53.5.5 Optionen | 1339 | ||
53.6 jar das Archivierungswerkzeug | 1340 | ||
53.6.1 Aufruf | 1340 | ||
53.6.2 Beschreibung | 1340 | ||
53.6.3 Kommandos | 1340 | ||
53.6.4 Verwendung einer Manifestdatei | 1341 | ||
53.6.5 Verwendung von jar-Dateien in Applets | 1342 | ||
53.7 javap der Disassembler | 1343 | ||
53.7.1 Aufruf | 1343 | ||
53.7.2 Beschreibung | 1343 | ||
53.7.3 Optionen | 1343 | ||
53.8 serialver Zugriff auf die serialVersionUID | 1343 | ||
53.8.1 Aufruf | 1343 | ||
53.8.2 Beschreibung | 1344 | ||
53.8.3 Optionen | 1344 | ||
53.9 keytool Verwaltung von kryptografischen Schlusseln | 1344 | ||
53.9.1 Aufruf | 1344 | ||
53.9.2 Beschreibung | 1344 | ||
53.10 policytool Bearbeiten von Policy-Dateien | 1344 | ||
53.10.1 Aufruf | 1344 | ||
53.10.2 Optionen | 1344 | ||
53.10.3 Beschreibung | 1345 | ||
53.11 jarsigner Signieren von Archiven | 1345 | ||
53.11.1 Aufruf | 1345 | ||
53.11.2 Beschreibung | 1345 | ||
53.11.3 Optionen | 1345 | ||
53.12 rmic Erzeugen von RMI-Stubs und -Skeletons | 1346 | ||
53.12.1 Aufruf | 1346 | ||
53.12.2 Beschreibung | 1346 | ||
53.12.3 Optionen | 1346 | ||
53.13 rmiregistry der RMI-Namensservice | 1346 | ||
53.13.1 Aufruf | 1346 | ||
53.13.2 Beschreibung | 1346 | ||
53.14 Visual VM Profiling von Java-Anwendungen | 1347 | ||
53.14.1 Aufruf | 1347 | ||
53.14.2 Optionen | 1347 | ||
53.14.3 Beschreibung | 1347 | ||
53.15 xjc der XML Schema Definition Compiler | 1347 | ||
53.15.1 Aufruf | 1347 | ||
53.15.2 Optionen | 1347 | ||
53.15.3 Beschreibung | 1348 | ||
53.16 Zusammenfassung | 1348 | ||
Verzeichnis der Abbildungen | 1350 | ||
Verzeichnis der Listings | 1356 | ||
Verzeichnis der Tabellen | 1370 | ||
Ins Internet: Weitere Infos zum Buch, Downloads, etc. | 0 | ||
Copyright | 1410 |