Java ist auch eine Insel: programmieren mit der Java Platform, Standard Edition 6
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Galileo Press
2008
|
Ausgabe: | 7., aktualisierte und erw. Aufl., 1. Nachdr. |
Schriftenreihe: | Galileo Computing
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | 1477 S. Ill., graph. Darst. DVD-ROM (12 cm) |
ISBN: | 9783836211468 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035065580 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 080923s2008 gw ad|| |||| 00||| ger d | ||
020 | |a 9783836211468 |9 978-3-8362-1146-8 | ||
035 | |a (OCoLC)188236953 | ||
035 | |a (DE-599)BVBBV035065580 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-91G |a DE-20 | ||
082 | 0 | |a 005.133 |2 22/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 362f |2 stub | ||
100 | 1 | |a Ullenboom, Christian |e Verfasser |0 (DE-588)123404738 |4 aut | |
245 | 1 | 0 | |a Java ist auch eine Insel |b programmieren mit der Java Platform, Standard Edition 6 |c Christian Ullenboom |
250 | |a 7., aktualisierte und erw. Aufl., 1. Nachdr. | ||
264 | 1 | |a Bonn |b Galileo Press |c 2008 | |
300 | |a 1477 S. |b Ill., graph. Darst. |e DVD-ROM (12 cm) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Galileo Computing | |
650 | 0 | 7 | |a Java Standard Edition 6 |0 (DE-588)7554591-3 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Java Standard Edition 6 |0 (DE-588)7554591-3 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m GBV Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016734041&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-016734041 |
Datensatz im Suchindex
_version_ | 1804138011767603200 |
---|---|
adam_text | CHRISTIAN ULLENBOOM JAVA IST AUCH EINE INSEL PROGRAMMIEREN MIT DER JAVA
PLATFORM, STANDARD EDITION 6 GALILEO PRESS INHALT VORWORT 39 1.1 DER
ERSTE KONTAKT 55 1.2 HISTORISCHER HINTERGRUND 55 1.3 EIGENSCHAFTEN VON
JAVA 57 1.3.1 BYTECODE UND DIE VIRTUELLE MASCHINE 57 1.3.2
OBJEKTORIENTIERUNG IN JAVA 58 1.3.3 JAVA-SECURITY-MODELL 59 1.3.4 ZEIGER
UND REFERENZEN 59 1.3.5 BRING DEN MUELL RAUS, GARBAGE-COLLECTOR! 60 1.3.6
AUSNAHMEBEHANDLUNG 61 1.3.7 KEIN PRAEPROZESSOR FUER TEXTERSETZUNGEN 61
1.3.8 KEINE UEBERLADENEN OPERATOREN 62 1.3.9 JAVA ALS SPRACHE,
LAUFZEITUMGEBUNG UND BIBLIOTHEK 62 1.3.10 WOFUER SICH JAVA NICHT EIGNET
63 1.3.11 JAVA IM VERGLEICH ZU ANDEREN SPRACHEN 64 1.3.12 JAVA IST OPEN
SOURCE 64 1.4 DIE ROLLE VON JAVA IM WEB 65 1.4.1 VOLLWERTIGE
APPLIKATIONEN STATT APPLETS 65 1.5 DIE JAVA PLATFORM STANDARD EDITION
(JAVA SE) 66 1.5.1 JDKUNDJRE , 66 1.5.2 JAVA-VERSIONEN 66 1.5.3 JAVA FUER
DIE KLEINEN 68 1.5.4 JAVA FUER DIE GROSSEN 68 1.5.5 INSTALLATIONSANLEITUNG
FUER JAVA SE 68 1.6 DAS ERSTE PROGRAMM COMPILIEREN UND TESTEN 70 1.6.1
EIN QUADRATZAHLEN-PROGRAMM 70 1.6.2 DER COMPILERLAUF 71 1.6.3 DIE
LAUFZEITUMGEBUNG 72 1.6.4 HAEUFIGE COMPILER-UND INTERPRETERPROBLEME 72
1.7 ENTWICKLUNGSUMGEBUNGEN IM ALLGEMEINEN 73 1.7.1 DIE
ENTWICKLUNGSUMGEBUNG ECLIPSE 73 1.7.2 NETBEANS VON SUN 74 1.7.3 EIN WORT
ZU MICROSOFT, JAVA UND ZU J++ 74 1.8 ECLIPSE IM SPEZIELLEN 75 1.8.1
ECLIPSE STARTEN 75 1.8.2 DAS ERSTE PROJEKT ANLEGEN 76 1.8.3 EINE KLASSE
HINZUFUEGEN 78 5 1.8.4 UEBERSETZEN UND AUSFUEHREN 79 1.8.5 JDK STATT JRE 80
1.8.6 START EINES PROGRAMMS OHNE SPEICHERAUFFORDERUNG 80 1.8.7 PROJEKT
EINFUEGEN ODER WORKSPACE FUER DIE AUFGABEN WECHSELN .... 81 1.8.8 PLUGINS
FUER ECLIPSE 82 1.8.9 ECLIPSE WEB TOOLS PLATFORM (WTP) 82 1.9 ZUM
WEITERLESEN 83 2.1 ELEMENTE DER PROGRAMMIERSPRACHE JAVA 85 2.1.1
TEXTKODIERUNG DURCH UNICODE-ZEICHEN 85 2.1.2 LITERALE 88 2.1.3
BEZEICHNER 88 2.1.4 RESERVIERTE SCHLUESSELWOERTER 89 2.1.5 TOKEN 90 2.1.6
KOMMENTARE 91 2.2 ANWEISUNGEN FORMEN PROGRAMME 92 2.2.1 ANWEISUNGEN 92
2.2.2 EINE KLASSE BILDET DEN RAHMEN 93 2.2.3 DIE REISE BEGINNT AM MAINO
94 2.2.4 PROGRAMME UEBERSETZEN UND STARTEN 95 2.2.5 FUNKTIONSAUFRUFE ALS
AUSDRUECKE UND ANWEISUNGEN 95 2.2.6 PRINTO, PRINTLNO UND PRINTFO FUER
BILDSCHIRMAUSGABEN 95 2.2.7 MODIFIZIERER 98 2.2.8 ANWEISUNGEN UND BLOECKE
99 2.3 DATENTYPEN 100 2.3.1 PRIMITIVE DATENTYPEN IM UEBERBLICK 100 2.3.2
WAHRHEITSWERTE 102 2.3.3 VARIABLENDEKLARATIONEN 102 2.3.4 GANZZAHLIGE
DATENTYPEN 106 2.3.5 DIE FLIESSKOMMAZAHLEN FLOAT UND DOUBLE 108 2.3.6
ALPHANUMERISCHE ZEICHEN 109 2.4 AUSDRUECKE, OPERANDEN UND OPERATOREN 110
2.4.1 ZUWEISUNGSOPERATOR 111 2.4.2 ARITHMETISCHE OPERATOREN 112 2.4.3
UNAERES MINUS UND PLUS 115 2.4.4 ZUWEISUNG MIT OPERATION 115 2.4.5
PRAEFIX-ODER POSTFIX-INKREMENT UND-DEKREMENT 116 2.4.6 DIE RELATIONALEN
OPERATOREN UND DIE GLEICHHEITSOPERATOREN 118 2.4.7 LOGISCHE OPERATOREN
UND, ODER, XOR, NICHT 119 2.4.8 RANG DER OPERATOREN IN DER
AUSWERTUNGSREIHENFOLGE 120 2.4.9 DIE TYPANPASSUNG (DAS CASTING) 122
INHALT 2.4.10 UEBERJADENES PLUS FUER STRINGS 127 2.4.11 WAS
C(++)-PROGRAMMIERER VERMISSEN KOENNTEN 128 2.5 BEDINGTE ANWEISUNGEN ODER
FALLUNTERSCHEIDUNGEN 128 2.5.1 DIE IF-ANWEISUNG 129 2.5.2 DIE
ALTERNATIVE MIT EINER IF/ELSE-ANWEISUNG WAEHLEN 130 2.5.3 DIE
SWITCH-ANWEISUNG BIETET DIE ALTERNATIVE 133 2.6 SCHLEIFEN 136 2.6.1 DIE
WHILE-SCHLEIFE 136 2.6.2 SCHLEIFENBEDINGUNGEN UND VERGLEICHE MIT == 137
2.6.3 DIE DO-WHILE-SCHLEIFE 138 2.6.4 DIE FOR-SCHLEIFE 140 2.6.5
AUSBRUCH PLANEN MIT BREAK UND WIEDEREINSTIEG MIT CONTINUE .... 143 2.6.6
BREAK UND CONTINUE MIT SPRUNGMARKEN 146 2.7 METHODEN EINER KLASSE 147
2.7.1 BESTANDTEIL EINER FUNKTION 148 2.7.2 BESCHREIBUNGEN IN DER
JAVA-API 148 2.7.3 AUFRUF EINER METHODE 150 2.7.4 METHODEN OHNE
PARAMETER 150 2.7.5 STATISCHE FUNKTIONEN (KLASSENMETHODEN) 151 2.7.6
PARAMETER, ARGUMENT UND WERTUEBERGABE 152 2.7.7 METHODEN VORZEITIG MIT
RETURN BEENDEN 153 2.7.8 NICHT ERREICHBARER QUELLCODE BEI FUNKTIONEN 154
2.7.9 RUECKGABEWERTE 154 2.7.10 METHODEN UEBERLADEN 158 2.7.11
VORGEGEBENER WERT FUER NICHT AUFGEFUEHRTE ARGUMENTE 160 2.7.12 FINALE
LOKALE VARIABLEN 160 2.7.13 REKURSIVE FUNKTIONEN 162 2.7.14 DIE TUERME
VON HANOI 164 2.8 WEITERE OPERATOREN 166 2.8.1 BITSUND BYTES 166 2.8.2
OPERATIONEN AUF BIT-EBENE 167 2.8.3 DIE VERSCHIEBEOPERATOREN 169 2.8.4
EIN BIT SETZEN, LOESCHEN, UMDREHEN UND TESTEN 171 2.8.5 BIT-FUNKTIONEN
DER INTEGER-UND LONG-KLASSE 171 2.8.6 DER BEDINGUNGSOPERATOR 172 2.9
EINFACHE BENUTZEREINGABEN 174 2.10 ZUM WEITERLESEN 175 3.1
OBJEKTORIENTIERTE PROGRAMMIERUNG 177 3.1.1 WARUM UEBERHAUPT OOP? 177
3.1.2 WIEDERVERWERTBARKEIT 178 7 INHALT 3.2 EIGENSCHAFTEN EINER KLASSE
179 3.2.1 DIE KLASSE POINT 179 3.3 DIE UML (UNIFIED MODELING LANGUAGE)
180 3.3.1 HINTERGRUND UND GESCHICHTE ZUR UML 180 3.3.2 WICHTIGE
DIAGRAMMTYPEN DER UML 181 3.4 NEUE OBJEKTE ERZEUGEN 181 3.4.1 ANLEGEN
EINES EXEMPLARS EINER KLASSE MIT DEM NEW-OPERATOR.... 182 3.4.2
DEKLARIEREN VON REFERENZVARIABLEN 183 3.4.3 ZUGRIFF AUF VARIABLEN UND
METHODEN MIT DEM ». 183 3.4.4 KONSTRUKTOREN NUTZEN 186 3.4.5 DIE
API-DOKUMENTATION 186 3.5 IMPORT UND PAKETE 187 3.6 MIT REFERENZEN
ARBEITEN 188 3.6.1 DIE NULL-REFERENZ 188 3.6.2 ZUWEISUNGEN BEI
REFERENZEN 190 3.6.3 FUNKTIONEN MIT NICHT-PRIMITIVEN PARAMETERN 191 3.7
IDENTITAET UND GLEICHHEIT 193 3.7.1 IDENTITAET VON OBJEKTEN 193 3.7.2
GLEICHHEIT UND DIE METHODE EQUALSO 193 3.8 WRAPPER-KLASSEN UND
AUTOBOXING 195 3.8.1 DIE BASISKLASSE NUMBER FUER NUMERISCHE
WRAPPER-OBJEKTE 197 3.8.2 DIE KLASSE INTEGER 198 3.8.3 UNTERSCHIEDLICHE
AUSGABEFORMATE 199 3.8.4 AUTOBOXING: BOXING UND UNBOXING 200 3.8.5 DIE
BOOLEAN-KLASSE 202 3.8.6 DIE KLASSEN DOUBLE UND FLOAT FUER
FIIESSKOMMAZAHLEN 203 3.9 ARRAYS 204 3.9.1 DEKLARATION VON ARRAYS 205
3.9.2 ARRAYS MIT INHALT 205 3.9.3 DIE LAENGE EINES ARRAYS UEBER DAS
ATTRIBUT LENGTH 206 3.9.4 ZUGRIFF AUF DIE ELEMENTE UEBER DEN INDEX 206
3.9.5 ARRAY-OBJEKTE ERZEUGEN 207 3.9.6 FEHLER BEI ARRAYS 209 3.9.7
VORINITIALISIERTE ARRAYS 210 3.9.8 DIE ERWEITERTE FOR-SCHLEIFE 211 3.9.9
ARRAYS MIT NICHT-PRIMITIVEN ELEMENTEN 212 3.9.10 MEHRDIMENSIONALE ARRAYS
213 3.9.11 DIE WAHRHEIT UEBER DIE ARRAY-INITIALISIERUNG 215 3.9.12
MEHRERE RUECKGABEWERTE 216 3.9.13 METHODE MIT VARIABLER ARGUMENTANZAHL
(VARARG) 217 3.9.14 KLONEN KANN SICH LOHNEN-ARRAYS VERMEHREN 218 3.9.15
FELDINHALTE KOPIEREN 219 3.9.16 DIE KLASSE ARRAYS ZUM VERGLEICHEN,
FUELLEN UND SUCHEN 220 8 INHALT 3.10 DER EINSTIEGSPUNKT FUER DAS
LAUFZEITSYSTEM MAINO 227 3.10.1 KOMMANDOZEILEN-ARGUMENTE VERARBEITEN 227
3.10.2 DER RUECKGABEWERT VON MAINO UND SYSTEM.EXITO 228 3.11 EIGENE
PAKETE SCHNUEREN 228 3.11.1 DIE PACKAGE-ANWEISUNG 229 3.11.2 IMPORTIEREN
VON KLASSEN MIT IMPORT 229 3.11.3 HIERARCHISCHE STRUKTUREN UND DAS
DEFAULT-PACKAGE 229 3.11.4 PAKETNAMEN 230 3.11.5 KLASSEN MIT GLEICHEN
NAMEN IN UNTERSCHIEDLICHEN PAKETEN 231 3.11.6 STATISCHES IMPORT 231
3.11.7 EINE VERZEICHNISSTRUKTUR FUER EIGENE PROJEKTE 232 3.12 ZUM
WEITERLESEN 232 4.1 EINZELNE ZEICHEN MIT DER CHARACTER-KLASSE BEHANDELN
233 4.2 STRINGS UND DEREN ANWENDUNG 234 4.2.1 STRING-LITERALE ALS
STRING-OBJEKTE FUER KONSTANTE ZEICHENKETTEN ... 236 4.2.2 STRING-LAENGE
UND TEST AUF LEERSTRING 238 4.2.3 NACH ENTHALTENEN ZEICHEN UND
ZEICHENFOLGEN SUCHEN 238 4.2.4 GUT, DASS WIR VERGLICHEN HABEN 240 4.2.5
STRING-TEILE EXTRAHIEREN 242 4.2.6 STRINGS ANHAENGEN,
GROSS-/KLEINSCHREIBUNG UND LEERRAUM 244 4.2.7 SUCHEN UND ERSETZEN 246
4.2.8 STRING-OBJEKTE MIT KONSTRUKTOREN NEU ANLEGEN 248 4.3 KONVERTIEREN
ZWISCHEN PRIMITIVEN UND STRINGS 250 4.3.1 UNTERSCHIEDLICHE TYPEN IN
ZEICHENKETTEN KONVERTIEREN 250 4.3.2 STRING IN PRIMITIVES ELEMENT
KONVERTIEREN 251 4.4 VERAENDERBARE ZEICHENKETTEN MIT
STRINGBUFFER/STRINGBUILDER 252 4.4.1 ANLEGEN VON
STRINGBUFFER/STRINGBUILDER-OBJEKTEN 252 4.4.2 DIE LAENGE EINES
STRINGBUFFER/-BUILDER-OBJEKTS 253 4.4.3 DATEN ANHAENGEN 254 4.4.4
ZEICHENFOLGEN) SETZEN, ERFRAGEN, LOESCHEN UND UMDREHEN 255 4.4.5
VERGLEICHEN VON STRING/STRINGBUFFER/STRINGBUILDER 256 4.4.6 HASHCODEO
BEI STRINGBUFFER/STRINGBUILDER 257 4.5 SPRACHABHAENGIGES VERGLEICHEN UND
NORMALISIERUNG 257 4.5.1 DIE KLASSE COLLATOR 258 4.5.2 EFFIZIENTE
INTERNE SPEICHERUNG FUER DIE SORTIERUNG 260 4.5.3 NORMALISIERUNG 262 4.6
REGULAERE AUSDRUECKE 262 4.6.1 DIE KLASSEN PATTERN UND MATCHER 262 4.6.2
MIT MATCHRESULT ALLE ERGEBNISSE EINSAMMELN 264 9 INHALT 4.7 ZERLEGEN VON
ZEICHENKETTEN 266 4.7.1 SPLITTEN VON ZEICHENKETTEN MIT SPLITO 266 4.7.2
SPLITO IN PATTERN 267 4.7.3 DIE KLASSE SCANNER 268 4.7.4 STRINGTOKENIZER
273 4.7.5 BREAKITERATOR ALS ZEICHEN-, WORT-, ZEILEN-UND SATZTRENNER 275
4.8 ZEICHENKODIERUNGEN UND BASE64 278 4.8.1 UEBER DIE KLASSE STRING
KODIERUNGEN VORNEHMEN 278 4.8.2 KONVERTIEREN MIT
OUTPUTSTREAMWRITER-KLASSEN 279 4.8.3 DAS PAKET JAVA.NIO.CHARSET 279
4.8.4 BASE64-KODIERUNG 280 4.9 FORMATIEREN VON AUSGABEN 281 4.9.1
FORMATIEREN MIT FORMATO AUS STRING 281 4.9.2 DIE FORMAT-KLASSEN IM
UEBERBLICK 284 4.9.3 ZAHLEN, PROZENTE UND WAEHRUNGEN MIT NUMBERFORMAT UND
DECIMALFORMAT FORMATIEREN 285 4.9.4 AUSGABEN MIT MESSAGEFORMAT
FORMATIEREN 287 4.10 ZUM WEITERLESEN 289 5.1 REPRAESENTATION GANZER
ZAHLEN - DAS ZWEIERKOMPLEMENT 291 5.2 FLIESSKOMMAARITHMETIK IN JAVA 291
5.2.1 MANTISSE UND EXPONENT 292 5.2.2 SPEZIALWERTE UNENDLICH, NULL, NAN
293 5.3 WERTEBEREICH EINES TYPS UND UEBERLAUFKONTROLLE 295 5.3.1
BEHANDLUNG DES UEBERLAUFS 296 5.4 DIE EIGENSCHAFTEN DER KLASSE MATH 297
5.4.1 ATTRIBUTE 297 5.4.2 ABSOLUTWERTE UND MAXIMUM/MINIMUM 298 5.4.3
WINKELFUNKTIONEN 299 5.4.4 RUNDEN VON WERTEN 300 5.4.5 WURZEL UND
EXPONENTIALFUNKTIONEN 302 5.4.6 DER LOGARITHMUS 303 5.4.7 REST DER
GANZZAHLIGEN DIVISION 303 5.4.8 ZUFALLSZAHLEN 304 5.5 MATHE BITTE STRIKT
305 5.5.1 STRIKT FLIESSKOMMA MIT STRICTFP 305 5.5.2 DIE KLASSEN MATH UND
STRICTMATH 305 5.6 DIE RANDOM-KLASSE 306 5.6.1 OBJEKTE AUFBAUEN UND DER
SEED 306 5.6.2 ZUFALLSZAHLEN ERZEUGEN 307 5.6.3 PSEUDO-ZUFALLSZAHLEN IN
DER NORMALVERTEILUNG 307 INHALT 5.7 GROSSE ZAHLEN 308 5.7.1 DIE KLASSE
BIGINTEGER 308 5.7.2 FUNKTIONEN VON BIGINTEGER 310 5.7.3 GANZ LANGE
FAKULTAETEN 312 5.7.4 GROSSE FLIESSKOMMAZAHLEN MIT BIGDECIMAL 313 5.7.5 MIT
MATHCONTEXT KOMFORTABEL DIE RECHENGENAUIGKEIT SETZEN .... 315 5.8 ZUM
WEITERLESEN 317 6.1 EIGENE KLASSEN MIT EIGENSCHAFTEN DEKLARIEREN 319
6.1.1 ATTRIBUTE DEKLARIEREN 319 6.1.2 METHODEN DEKLARIEREN 320 6.1.3 DIE
THIS-REFERENZ 322 6.2 PRIVATSPHAERE UND SICHTBARKEIT 324 6.2.1 FUER DIE
OEFFENTLICHKEIT: PUBLIC 324 6.2.2 PAKETSICHTBAR 324 6.2.3 KEIN PUBLIC
VIEWING-PASSWOERTER SIND PRIVAT 325 6.2.4 WIESO NICHT FREIE METHODEN UND
VARIABLEN FUER ALLE? 327 6.2.5 PRIVAT IST NICHT GANZ PRIVAT: ES KOMMT
DARAUF AN, WER S SIEHT 327 6.2.6 ZUGRIFFSMETHODEN FUER ATTRIBUTE
DEKLARIEREN 328 6.2.7 SETTER UND GETTER NACH DER JAVABEANS-SPEZIFIKATION
329 6.3 STATISCHE METHODEN UND STATISCHE ATTRIBUTE 330 6.3.1 WARUM
STATISCHE EIGENSCHAFTEN SINNVOLL SIND 331 6.3.2 STATISCHE EIGENSCHAFTEN
MIT STATIC 331 6.3.3 STATISCHE EIGENSCHAFTEN UEBER REFERENZEN NUTZEN? 332
6.3.4 WARUM DIE GROSS-UND KLEINSCHREIBUNG WICHTIG IST 333 6.3.5 STATISCHE
EIGENSCHAFTEN UND OBJEKTEIGENSCHAFTEN 333 6.3.6 STATISCHE VARIABLEN ZUM
DATENAUSTAUSCH 334 6.3.7 STATISCHE BLOECKE ALS KLASSENINITIALISIERER 335
6.4 KONSTANTEN UND AUFZAEHLUNGEN 336 6.4.1 KONSTANTEN UEBER OEFFENTLICHE
STATISCHE FINALE VARIABLEN 337 6.4.2 EINCOMPILIERTE BELEGUNGEN DER
KLASSENVARIABLEN 337 6.4.3 TYP(UN)SICHERERE AUFZAEHLUNGEN 338 6.4.4
AUFZAEHLUNGEN MIT ENUM 339 6.5 OBJEKTE ANLEGEN UND ZERSTOEREN 342 6.5.1
KONSTRUKTOREN SCHREIBEN 342 6.5.2 DER STANDARD-KONSTRUKTOR 343 6.5.3
PARAMETRISIERTE UND UEBERLADENE KONSTRUKTOREN 344 6.5.4 KONSTRUKTOR NIMMT
EIN OBJEKT VOM EIGENEN TYP AN (COPY-KONSTRUKTOR) 346 6.5.5 EINEN ANDEREN
KONSTRUKTOR DER GLEICHEN KLASSE AUFRUFEN 347 6.5.6 INITIALISIERUNG DER
OBJEKT-UND KLASSENVARIABLEN 350 11 6.5.7 FINALE WERTE IM KONSTRUKTOR UND
IN STATISCHEN BLOECKEN SETZEN ... 352 6.5.8 EXEMPLARINITIALISIERER
(INSTANZINITIALISIERER) 353 6.5.9 IHR FEHLT UNS NICHT - DER
GARBAGE-COLLECTOR 355 6.5.10 IMPLIZIT ERZEUGTE STRING-OBJEKTE 356 6.5.11
PRIVATE KONSTRUKTOREN, UTILITY-KLASSEN, SINGLETON, FABRIKEN 357 6.6
ASSOZIATIONEN ZWISCHEN OBJEKTEN 359 6.6.1 UNIDIREKTIONALE 1:1-BEZIEHUNG
360 6.6.2 BIDIREKTIONALE 1:1-BEZIEHUNGEN 360 6.6.3 UNIDIREKTIONALE
1:N-BEZIEHUNG 361 6.7 VERERBUNG 363 6.7.1 VERERBUNG IN JAVA 363 6.7.2
SPIELOBJEKTE MODELLIERT 364 6.7.3 EINFACH- UND MEHRFACHVERERBUNG 365
6.7.4 SICHTBARKEIT PROTECTED 366 6.7.5 KONSTRUKTOREN IN DER VERERBUNG
UND SUPER 367 6.7.6 AUTOMATISCHE UND EXPLIZITE TYPANPASSUNG 371 6.7.7
DAS SUBSTITUTIONSPRINZIP 373 6.7.8 TYPEN MIT DEM BINAEREN OPERATOR
INSTANCEOF TESTEN 375 6.7.9 METHODEN UEBERSCHREIBEN 376 6.7.10 MIT SUPER
AN DIE ELTERN 378 6.7.11 KOVARIANTE RUECKGABETYPEN 380 6.7.12 ARRAY-TYPEN
UND KOVARIANZ 381 6.7.13 ZUSAMMENFASSUNG ZUR SICHTBARKEIT 382 6.8
DYNAMISCHES BINDEN 383 6.8.1 UNPOLYMORPH BEI PRIVATEN, STATISCHEN UND
FINALEN METHODEN .... 386 6.8.2 POLYMORPHIE BEI KONSTRUKTORAUFRUFEN 387
6.8.3 FINALE KLASSEN 389 6.8.4 NICHT UEBERSCHREIBBARE (FINALE) METHODEN
390 6.9 ABSTRAKTE KLASSEN UND ABSTRAKTE METHODEN 391 6.9.1 ABSTRAKTE
KLASSEN 391 6.9.2 ABSTRAKTE METHODEN 392 6.10 SCHNITTSTELLEN 395 6.10.1
DEKLARIEREN VON SCHNITTSTELLEN 395 6.10.2 IMPLEMENTIEREN VON
SCHNITTSTELLEN 396 6.10.3 MARKIERUNGSSCHNITTSTELLEN 398 6.10.4 EIN
POLYMORPHIE-BEISPIEL MIT SCHNITTSTELLEN 398 6.10.5 DIE MEHRFACHVERERBUNG
BEI SCHNITTSTELLEN 399 6.10.6 KEINE KOLLISIONSGEFAHR BEI
MEHRFACHVERERBUNG 402 6.10.7 ERWEITERN VON INTERFACES - SUBINTERFACES
403 6.10.8 VERERBTE KONSTANTEN BEI SCHNITTSTELLEN 404 6.10.9
SCHNITTSTELLENMETHODEN, DIE NICHT IMPLEMENTIERT WERDEN MUESSEN 406
6.10.10 ABSTRAKTE KLASSEN UND SCHNITTSTELLEN IM VERGLEICH 406 INHALT
6.11 GESCHACHTELTE (INNERE) KLASSEN, SCHNITTSTELLEN, AUFZAEHLUNGEN 407
6.11.1 STATISCHE INNERE KLASSEN UND SCHNITTSTELLEN 408 6.11.2
MITGLIEDS-ODER ELEMENTKLASSEN 409 6.11.3 LOKALE KLASSEN 413 6.11.4
ANONYME INNERE KLASSEN 413 6.11.5 THIS UND VERERBUNG 416 6.12 GENERISCHE
DATENTYPEN 418 6.12.1 EINFACHE KLASSENSCHABLONEN 419 6.12.2 EINFACHE
METHODENSCHABLONEN 420 6.12.3 UMSETZEN DER GENERICS, TYPLOESCHUNG UND
RAW-TYPES 420 6.12.4 EINSCHRAENKEN DER TYPEN 422 6.12.5 GENERICS UND
VERERBUNG, INVARIANZ 424 6.12.6 WILDCARDS 425 6.13 DIE
SPEZIAL-OBERKLASSE ENUM 426 6.13.1 METHODEN AUF ENUM-OBJEKTEN 426 6.13.2
ENUM MIT EIGENEN KONSTRUKTOREN UND METHODEN 428 6.14
DOKUMENTATIONSKOMMENTARE MIT JAVADOC 430 6.14.1 EINEN
DOKUMENTATIONSKOMMENTAR SETZEN 431 6.14.2 MIT JAVADOC EINE DOKUMENTATION
ERSTELLEN 433 6.14.3 HTML-TAGS IN DOKUMENTATIONSKOMMENTAREN 433 6.14.4
GENERIERTE DATEIEN 433 6.14.5 DOKUMENTATIONSKOMMENTARE IM UEBERBLICK 434
6.14.6 JAVADOC UND DOCLETS 435 6.14.7 VERALTETE (DEPRECATED) KLASSEN,
KONSTRUKTOREN UND METHODEN .... 436 7.1 SCHNITTSTELLEN IN DER ANWENDUNG
439 7.1.1 CHARSEQUENCE ALS BEISPIEL EINER SCHNITTSTELLE 439 7.1.2 DIE
SCHNITTSTELLE ITERABLE 441 7.1.3 FUNKTIONSZEIGER 443 7.1.4
IMPLEMENTIERUNG EINER VERKETTETEN LISTE 445 7.2 DESIGN-PATTERN
(ENTWURFSMUSTER) 446 7.2.1 DESIGN-PATTERN 447 7.2.2 DAS
BEOBACHTER-PATTERN (OBSERVER/OBSERVABLE) 448 7.2.3 EREIGNISSE UEBER
LISTENER 451 7.2.4 MULTICAST UND UNICAST 454 7.3 JAVABEAN 455 7.3.1
PROPERTIES (EIGENSCHAFTEN) 455 7.3.2 EINFACHE EIGENSCHAFTEN 456 7.3.3
INDIZIERTE EIGENSCHAFTEN 456 7.3.4 GEBUNDENE EIGENSCHAFTEN 457 7.3.5
VETO-EIGENSCHAFTEN - DAGEGEN! 459 13 INHALT 8.1 PROBLEMBEREICHE
EINZAEUNEN 465 8.1.1 EXCEPTIONS IN JAVA MIT TRY UND CATCH 465 8.1.2 EINE
DATEI MIT RANDOMACCESSFILE AUSLESEN 466 8.1.3 ABLAUF EINER
AUSNAHMESITUATION 468 8.1.4 WIEDERHOLUNG ABGEBROCHENER BEREICHE 468
8.1.5 THROWS IM METHODENKOPF ANGEBEN 469 8.1.6 ABSCHLUSSBEHANDLUNG MIT
FINALLY 472 8.1.7 NICHT ERREICHBARE CATCH-KLAUSELN 475 8.2 DIE
KLASSENHIERARCHIE DER FEHLER 476 8.2.1 DIE EXCEPTION-HIERARCHIE 477
8.2.2 OBERAUSNAHMEN AUFFANGEN 477 8.2.3 ALLES GEHT ALS EXCEPTION DURCH
478 8.2.4 RUNTIMEEXCEPTION MUSS NICHT AUFGEFANGEN WERDEN 479 8.2.5 HARTE
FEHLER: ERROR 480 8.3 AUSLOESEN EIGENER EXCEPTIONS 481 8.3.1 MIT THROW
AUSNAHMEN AUSLOESEN 481 8.3.2 NEUE EXCEPTION-KLASSEN DEKLARIEREN 483
8.3.3 ABFANGEN UND WEITERLEITEN 484 8.3.4 GESCHACHTELTE AUSNAHMEN 485
8.3.5 RUECKGABEWERTE BEI AUSGELOESTEN AUSNAHMEN 486 8.4 DER STACK-TRACE
486 8.4.1 STACK-TRACE ERFRAGEN 487 8.5 ASSERTIONS 488 8.5.1 ASSERTIONS
IN EIGENEN PROGRAMMEN NUTZEN 489 8.5.2 ASSERTIONS AKTIVIEREN 490 9.1 DIE
JAVA-KLASSENPHILOSOPHIE 491 9.1.1 UEBERSICHT UEBER DIE PAKETE DER
STANDARDBIBLIOTHEK 491 9.2 OBJECT IST DIE MUTTER ALLER OBERKLASSEN 498
9.2.1 KLASSENOBJEKTE 498 9.2.2 OBJEKTIDENTIFIKATION MIT TOSTRINGO 498
9.2.3 OBJEKTGLEICHHEIT MIT EQUALSO UND IDENTITAET 500 9.2.4 KLONEN EINES
OBJEKTS MIT CLONEO 504 9.2.5 HASHCODES UEBER HASHCODEO LIEFERN 507 9.2.6
AUFRAEUMEN MIT FINALIZEO 510 9.2.7 SYNCHRONISATION 512 9.3 KLASSENLADER
(CLASS LOADER) 512 9.3.1 WOHER DIE KLEINEN KLASSEN KOMMEN 513 9.3.2
SETZEN DES KLASSENPFADES 514 14 INHALT 9.3.3 DIE WICHTIGSTEN DREI TYPEN
VON KLASSENLADERN 515 9.3.4 DER JAVA.LANG.CLASSLOADER 515 9.3.5 HOT
DEPLOYMENT MIT DEM URL-CLASSLOADER 517 9.3.6
DASJRE/LIB/ENDORSED-VERZEICHNIS 519 9.3.7 GETCONTEXTCLASSLOADERO VOM
THREAD 520 9.4 DIE UTILITY-KLASSE SYSTEM UND PROPERTIES 520 9.4.1
SYSTEMEIGENSCHAFTEN DER JAVA-UMGEBUNG 521 9.4.2 LINE.SEPARATOR 522 9.4.3
BROWSER-VERSION ABFRAGEN 523 9.4.4 PROPERTY VON DER KONSOLE AUS SETZEN
523 9.4.5 UMGEBUNGSVARIABLEN DES BETRIEBSSYSTEMS 524 9.4.6 EINFACHE
ZEITMESSUNG UND PROFILING 525 9.5 AUSFUEHREN EXTERNER PROGRAMME UND
SKRIPTE 526 9.5.1 PROCESSBUILDER UND PROZESSKONTROLLE MIT PROCESS 526
9.5.2 EINEN BROWSER/E-MAIL-CLIENT/EDITOR AUFRUFEN 529 9.5.3 AUSFUEHREN
VON SKRIPTEN 530 9.6 BENUTZEREINSTELLUNGEN 532 9.6.1
BENUTZEREINSTELLUNGEN IN WINDOWS-REGISTRY ODER XML-DOKUMENTEN 532 9.6.2
EINTRAGE EINFUEGEN, AUSLESEN UND LOESCHEN 534 9.6.3 AUSLESEN DER DATEN UND
SCHREIBEN IN ANDEREM FORMAT 536 9.6.4 AUF EREIGNISSE HORCHEN 536 9.6.5
ZUGRIFF AUF DIE GESAMTE WINDOWS-REGISTRY 536 9.7 MUSIK ABSPIELEN 537
9.7.1 DIE ARBEIT MIT AUDIOCIIP 537 9.7.2 JAVA SOUND API 538 9.8
ANNOTATIONEN 539 9.8.1 ANNOTATIONSTYPEN @OVERRIDE, @DEPRECATED,
@SUPPRESSWAMINGS 540 9.8.2 COMMON ANNOTATIONS 541 9.8.3 ANNOTATIONEN FUER
WEB-SERVICES 542 9.8.4 ANNOTATIONEN FUER XML-MAPPING 542 9.9 ZUM
WEITERLESEN 542 10.1 NEBENLAEUFIGKEIT 543 10.1.1 THREADS UND PROZESSE 543
10.1.2 WIE PARALLELE PROGRAMME DIE GESCHWINDIGKEIT STEIGERN KOENNEN 544
10.1.3 WAS JAVA FUER NEBENLAEUFIGKEIT ALLES BIETET 546 10.2 THREADS
ERZEUGEN 546 10.2.1 THREADS UEBER DIE SCHNITTSTELLE RUNNABLE
IMPLEMENTIEREN 546 15 10.2.2 THREAD MIT RUNNABLE STARTEN 547 10.2.3 DER
NAME EINES THREADS 549 10.2.4 DIE KLASSE THREAD ERWEITERN 550 10.2.5 WER
BIN ICH? 552 3 DIE ZUSTAENDE EINES THREADS 553 10.3.1 THREADS SCHLAFEN
553 10.3.2 MIT YIELDO AUF RECHENZEIT VERZICHTEN 555 10.3.3 DAS ENDE
EINES THREADS 555 10.3.4 UNCAUGHTEXCEPTION HANDLER FUER UNBEHANDELTE
AUSNAHMEN 556 10.3.5 EINEN THREAD HOEFLICH MIT INTERRUPT BEENDEN 557
10.3.6 DER STOPO VON AUSSEN UND DIE RETTUNG MIT THREADDEATH 559 10.3.7
EIN RENDEZVOUS MIT JOINO 560 10.3.8 BARRIER UND AUSTAUSCH MIT EXCHANGER
562 10.3.9 ARBEIT NIEDERLEGEN UND WIEDER AUFNEHMEN 563 10.3.10 PRIORITAET
563 10.3.11 DER THREAD IST EIN DAEMON 564 4 DER AUSFUEHRER (EXECUTOR)
KOMMT 566 10.4.1 DIE SCHNITTSTELLE EXECUTOR 566 10.4.2 DIE THREAD-POOLS
568 10.4.3 THREADS MIT RUECKGABE UEBER CALLABLE 569 10.4.4 MEHRERE
CALLABLE ABARBEITEN 572 10.4.5 MIT SCHEDULEDEXECUTORSERVICE
WIEDERHOLENDE AUSGABEN UND ZEITSTEUERUNGEN 572 5 SYNCHRONISATION UEBER
KRITISCHE ABSCHNITTE 573 10.5.1 GEMEINSAM GENUTZTE DATEN 573 10.5.2
PROBLEME BEIM GEMEINSAMEN ZUGRIFF UND KRITISCHE ABSCHNITTE ... 573
10.5.3 PUNKTE PARALLEL INITIALISIEREN 574 10.5.4 I++SIEHT ATOMAR AUS,
IST ES ABER NICHT 576 10.5.5 KRITISCHE ABSCHNITTE SCHUETZEN 577 10.5.6
SCHUETZEN MIT REENTRANTLOCK 578 10.5.7 SYNCHRONISIEREN MIT SYNCHRONIZED
582 10.5.8 SYNCHRONIZED-METHODEN DER KLASSE STRINGBUFFER 583 10.5.9 MIT
SYNCHRONIZED SYNCHRONISIERTE BLOECKE 584 10.5.10 DANN MACHEN WIR DOCH
GLEICH ALLES SYNCHRONISIERT! 585 10.5.11 LOCK-FREIGABE IM FALL VON
EXCEPTIONS 586 10.5.12 MIT SYNCHRONIZED NACHTRAEGLICH SYNCHRONISIEREN 587
10.5.13 MONITORE SIND REENTRANT - GUT FUER DIE GESCHWINDIGKEIT 588
10.5.14 SYNCHRONISIERTE METHODENAUFRUFE ZUSAMMENFASSEN 589 10.5.15
DEADLOCKS 590 6 SYNCHRONISATION UEBER WARTEN UND BENACHRICHTIGEN 592
10.6.1 DIE SCHNITTSTELLE CONDITION 593 10.6.2 BEISPIEL:
ERZEUGER-VERBRAUCHER-PROGRAMM 596 INHALT 10.6.3 WARTEN MIT WAITO UND
AUFWECKEN MIT NOTIFYO 600 10.6.4 FALLS DER LOCK FEHLT:
HLEGALMONITORSTATEEXCEPTION 601 10.6.5 SEMAPHOR 603 10.7 ATOMARE
OPERATIONEN UND FRISCHE WERTE MIT VOLATILE 606 10.7.1 DER MODIFIZIERER
VOLATILE BEI OBJEKT-/KLASSENVARIABLEN 606 10.7.2 DAS PAKET
JAVA.UTIL.CONCURRENT.ATOMIC 607 10.8 MIT DEM THREAD VERBUNDENE VARIABLEN
608 10.8.1 THREADLOCAL 609 10.8.2 INHERITABLETHREADLOCAL 610 10.9
GRUPPEN VON THREADS IN EINER THREAD-GRUPPE 612 10.9.1 AKTIVE THREADS IN
DER UMGEBUNG 612 10.9.2 ETWAS UEBER DIE AKTUELLE THREAD-GRUPPE
HERAUSFINDEN 613 10.9.3 THREADS IN EINER THREAD-GRUPPE ANLEGEN 615
10.9.4 METHODEN VON THREAD UND THREADGROUP IM VERGLEICH 618 10.10
ZEITGESTEUERTE ABLAEUFE 619 10.10.1 DIE KLASSEN TIMER UND TIMERTASK 619
10.10.2 JOB-SCHEDULER QUARTZ 621 10.11 EINEN ABBRUCH DER VIRTUELLEN
MASCHINE ERKENNEN 621 10.12 ZUM WEITERLESEN 622 11.1 WELTZEIT 623 11.2
WICHTIGE DATUM-KLASSEN IM UEBERBLICK 624 11.3 SPRACHEN DER LAENDER 624
11.3.1 SPRACHEN UND REGIONEN UEBER LOCALE-OBJEKTE 625 11.4
INTERNATIONALISIERUNG UND LOKALISIERUNG 628 11.4.1
RESOURCEBUNDLE-OBJEKTE UND RESSOURCE-DATEIEN 629 11.4.2
RESSOURCE-DATEIEN ZUR LOKALISIERUNG 629 11.4.3 DIE KLASSE RESOURCEBUNDLE
630 11.4.4 LADESTRATEGIE FUER RESOURCEBUNDLE-OBJEKTE 631 11.5 ZEITZONEN
632 11.5.1 ZEITZONEN DURCH DIE KLASSE TIMEZONE REPRAESENTIEREN 632 11.6
DIE KLASSE DATE 634 11.6.1 OBJEKTE ERZEUGEN UND METHODEN NUTZEN 634 11.7
CALENDARUND GREGORIANCALENDAR 635 11.7.1 DIE ABSTRAKTE KLASSE CALENDAR
636 11.7.2 DER GREGORIANISCHE KALENDER 636 11.7.3 OSTERTAGE 639 11.7.4
ABFRAGEN UND SETZEN VON DATUMSELEMENTEN 641 11.8 FORMATIEREN UND PARSEN
VON DATUMSANGABEN 647 11.8.1 AUSGABEN MIT PRINTFO 647 11.8.2 MIT
DATEFORMAT UND SIMPLEDATEFORMAT FORMATIEREN 647 17 11.8.3 PARSEN VON
DATUMSWERTEN 652 11.9 ZUM WEITERLESEN 654 12.1 DATENSTRUKTUREN UND DIE
COLLECTION-API 655 12.1.1 DESIGNPRINZIP MIT SCHNITTSTELLEN, ABSTRAKTEN
KLASSEN, KONKRETEN KLASSEN 656 12.1.2 DIE BASIS-SCHNITTSTELLEN
COILECTION UND MAP 657 12.1.3 DAS ERSTE PROGRAMM MIT CONTAINER-KLASSEN
657 12.1.4 DIE SCHNITTSTELLE COILECTION 658 12.1.5 SCHNITTSTELLEN, DIE
COILECTION ERWEITERN, UND MAP 660 12.1.6 KONKRETE CONTAINER-KLASSEN 662
12.1.7 WELCHE KLASSE NEHMEN? 663 12.1.8 GENERISCHE DATENTYPEN IN DER
COLLECTION-API 663 12.1.9 DIE SCHNITTSTELLE ITERABLE UND DAS ERWEITERTE
FOR 664 12.2 MIT EINEM ITERATOR DURCH DIE DATEN WANDERN 665 12.2.1 DIE
SCHNITTSTELLEN ENUMERATION UND ITERATOR 665 12.2.2 ITERATOREN VON
SAMMLUNGEN UND DAS ERWEITERTE FOR 667 12.2.3 FAIL-FAST ITERATOR UND DIE
CONCURRENTMODIFICATIONEXCEPTION 669 12.3 LISTEN 669 12.3.1 ARRAYLIST
ODER LINKEDLIST? SPEICHERUNG IM FELD ODER IN EINER VERKETTETEN LISTE 670
12.3.2 DIE SCHNITTSTELLE LIST 670 12.3.3 ARRAYLIST 677 12.3.4 LINKEDLIST
680 12.3.5 DER FELD-ADAPTER ARRAYS.ASLISTO 681 12.3.6 TOARRAYO VON
COILECTION VERSTEHEN - DIE GEFAHR EINER FALLE ERKENNEN 682 12.3.7
PRIMITIVE ELEMENTE IN DEN COLLECTION-DATENSTRUKTUREN 684 12.4
VERGLEICHEN VON OBJEKTEN 685 12.4.1 DIE SCHNITTSTELLEN COMPARATOR UND
COMPARABLE 685 12.4.2 ALGORITHMEN MIT SUCH-UND SORTIERMOEGLICHKEITEN 687
12.4.3 DEN GROESSTEN UND KLEINSTEN WERT EINER COILECTION FINDEN 688 12.4.4
SORTIEREN 689 12.5 MENGEN (SETS) 692 12.5.1 HASHSET 694 12.5.2 TREESET -
DIE MENGE DURCH BAEUME 695 12.5.3 LINKEDHASHSET 698 12.6 STACK
(KELLERSPEICHER, STAPEL) 698 12.6.1 DIE METHODEN VON STACK 699 12.6.2
EIN STACK IST EIN VECTOR - AHA! 699 INHALT 12.7 QUEUES (SCHLANGEN) UND
DEQUES 700 12.7.1 DIE SCHNITTSTELLE QUEUE 700 12.7.2 BLOCKIERENDE QUEUES
UND PRIORITAETSWARTESCHLANGEN 701 12.7.3 DEQUE-KLASSEN 702 12.8
ASSOZIATIVE SPEICHER 702 12.8.1 DIE KLASSEN HASHMAP UND TREEMAP 702
12.8.2 EINFUEGEN UND ABFRAGEN DER DATENSTRUKTUR 704 12.8.3 DIE BEDEUTUNG
VON EQUALSO, HASHCODEO UND IDENTITYHASHMAP 707 12.8.4 ELEMENTE IM
ASSOZIATIVSPEICHER MUESSEN UNVERAENDERBAR BLEIBEN 709 12.8.5 AUFZAEHLUNGEN
UND SICHTEN AUF DEN ASSOZIATIVSPEICHER 709 12.8.6 DER GLEICHHEITSTEST,
HASH-WERT UND KLON EINER HASH-TABELLE 712 12.8.7 DIE ARBEITSWEISE EINER
HASH-TABELLE 712 12.8.8 MULTI-MAPS 715 12.9 DIE PROPERTIES-KLASSE 715
12.9.1 PROPERTIES SETZEN UND LESEN 715 12.9.2 PROPERTIES VERKETTEN 715
12.9.3 EIGENSCHAFTEN AUSGEBEN 717 12.9.4 HIERARCHISCHE EIGENSCHAFTEN 717
12.9.5 PROPERTIES SPEICHERN 717 12.9.6 KLASSENBEZIEHUNGEN: PROPERTIES
UND HASHTABLE 719 12.10 ALGORITHMEN IN COLLECTIONS 719 12.10.1
LISTENOPERATIONEN: ERSETZEN, KOPIEREN, FUELLEN, UMDREHEN, ROTIEREN,
DURCHMISCHEN 720 12.10.2 MIT DER HALBIERUNGSSUCHE NACH ELEMENTEN FAHNDEN
721 12.10.3 NICHT-AENDERBARE DATENSTRUKTUREN 723 12.10.4 HAEUFIGKEIT EINES
ELEMENTS 723 12.10.5 NCOPIESO 723 12.10.6 SINGLETONS 724 12.11
SYNCHRONISATION DER DATENSTRUKTUREN 725 12.11.1 LOCK-FREE-ALGORITHMEN
AUS JAVA.UTIL.CONCURRENT 725 12.11.2 WRAPPER ZUR SYNCHRONISATION 726
12.11.3 COPYONWRITEARRAYLIST UND COPYONWRITEARRAYSET 727 12.12 DIE
KLASSE BITSETFUER BITMENGEN 727 12.12.1 EIN BITSET ANLEGEN, FUELLEN UND
ERFRAGEN 727 12.12.2 MENGENORIENTIERTE OPERATIONEN 728 12.12.3
FUNKTIONSUEBERSICHT 729 12.12.4 PRIMZAHLEN IN EINEM BITSET VERWALTEN 730
19 INHALT 13.1 DATEI UND VERZEICHNIS 732 13.1.1 DATEIEN UND
VERZEICHNISSE MIT DER KLASSE FILE 732 13.1.2 VERZEICHNIS ODER DATEI?
EXISTIERT ES? 734 13.1.3 VERZEICHNIS-UND DATEIEIGENSCHAFTEN/-ATTRIBUTE
735 13.1.4 WURZELVERZEICHNIS, LAUFWERKSNAMEN, PLATTENSPEICHER 737 13.1.5
UMBENENNEN UND VERZEICHNISSE ANLEGEN 740 13.1.6 VERZEICHNISSE LISTEN UND
DATEIEN FILTERN 740 13.1.7 DATEIEN BERUEHREN, NEUE DATEIEN ANLEGEN,
TEMPORAERE DATEIEN .... 743 13.1.8 DATEIEN UND VERZEICHNISSE LOESCHEN 745
13.1.9 VERZEICHNISSE NACH DATEIEN ITERATIV DURCHSUCHEN 746 13.1.10
URL-UND URI-OBJEKTE AUS EINEM FILE-OBJEKT ABLEITEN 747 13.1.11 MIT
LOCKING DATEIEN SPERREN 747 13.1.12 SICHERHEITSPRUEFUNG 748 13.1.13
MIME-TYPEN MIT DEM JAVABEANS ACTIVATION FRAMEWORK (JAF) .... 748 13.1.14
ZUGRIFF AUF SMB-SERVER MIT JCIFS 749 13.2 DATEIEN MIT WAHLFREIEM ZUGRIFF
750 13.2.1 EIN RANDOMACCESSFILE ZUM LESEN UND SCHREIBEN OEFFNEN 751
13.2.2 AUS DEM RANDOMACCESSFILE LESEN 751 13.2.3 SCHREIBEN MIT
RANDOMACCESSFILE 754 13.2.4 DIE LAENGE DES RANDOMACCESSFILE 754 13.2.5
HIN UND HER IN DER DATEI 754 13.2.6 WAHLFREIER ZUGRIFF UND PUFFERUNG MIT
UNIFIED I/O 755 13.3 STREAM-KLASSEN UND READER/WRITER AM BEISPIEL VON
DATEIEN 755 13.3.1 MIT DEM FILEWRITER TEXTE IN DATEIEN SCHREIBEN 756
13.3.2 ZEICHEN MIT DER KLASSE FILEREADER LESEN 758 13.3.3 KOPIEREN MIT
FILEOUTPUTSTREAM UND FILELNPUTSTREAM 759 13.3.4 DAS
FILEDESCRIPTOR-OBJEKT 762 13.4 BASISKLASSEN FUER DIE EIN-/AUSGABE 762
13.4.1 DIE ABSTRAKTEN BASISKLASSEN 762 13.4.2 UEBERSICHT UEBER
EIN-/AUSGABEKLASSEN 763 13.4.3 DIE ABSTRAKTE BASISKLASSE OUTPUTSTREAM
764 13.4.4 DIE SCHNITTSTELLEN CLOSEABLE UND FLUSHABLE 766 13.4.5 EIN
DATENSCHLUCKER 766 13.4.6 DIE ABSTRAKTE BASISKLASSE INPUTSTREAM 767
13.4.7 RESSOURCEN WIE GRAFIKEN AUS DEM KLASSENPFAD UND AUS JAR-ARCHIVEN
LADEN 768 13.4.8 STROEME MIT SEQUENCELNPUTSTREAM ZUSAMMENSETZEN 769
13.4.9 DIE ABSTRAKTE BASISKLASSE WRITER 770 13.4.10 DIE SCHNITTSTELLE
APPENDABLE 772 13.4.11 DIE ABSTRAKTE BASISKLASSE READER 773 20 INHALT
13.5 FORMATIERTE TEXTAUSGABEN 774 13.5.1 DIE KLASSEN PRINTWRITER UND
PRINTSTREAM 775 13.5.2 SYSTEM.OUT, SYSTEM.ERR UND SYSTEM.IN 779 13.5.3
GESCHUETZTE PASSWORT-EINGABEN MIT DER KLASSE CONSOLE 781 13.6 SCHREIBEN
UND LESEN AUS STRINGS UND BYTE-FELDERN 781 13.6.1 MIT DEM STRINGWRITER
EIN STRING-OBJEKT FUELLEN 782 13.6.2 CHARARRAYWRITER 783 13.6.3
STRINGREADER UND CHARARRAYREADER 784 13.6.4 MIT BYTEARRAYOUTPUTSTREAM IN
EIN BYTE-FELD SCHREIBEN 785 13.6.5 MIT BYTEARRAYLNPUTSTREAM AUS EINEM
BYTE-FELD LESEN 786 13.7 DATENSTROEME FILTERN UND VERKETTEN 786 13.7.1
STREAMS ALS FILTER VERKETTEN 787 13.7.2 GEPUFFERTE AUSGABEN MIT
BUFFEREDWRITER UND BUFFEREDOUTPUTSTREAM 787 13.7.3 GEPUFFERTE EINGABEN
MIT BUFFEREDREADER UND BUFFEREDLNPUTSTREAM 789 13.7.4 LINENUMBERREADER
ZAEHLT AUTOMATISCH ZEILEN MIT 791 13.7.5 DATEN MIT DER KLASSE
PUSHBACKREADER ZURUECKLEGEN 792 13.7.6 DATAOUTPUTSTREAM/DATALNPUTSTREAM
795 13.7.7 BASISKLASSEN FUER FILTER 795 13.7.8 DIE BASISKLASSE
FILTERWRITER 795 13.7.9 EIN LOWERCASEWRITER 796 13.7.10 EINGABEN MIT DER
KLASSE FILTERREADER FILTERN 798 13.8 VERMITTLER ZWISCHEN BYTE-STREAMS
UND UNICODE-STROEMEN 799 13.8.1 DATENKONVERTIERUNG DURCH DEN
OUTPUTSTREAMWRITER 799 13.8.2 AUTOMATISCHE KONVERTIERUNGEN MIT DEM
INPUTSTREAMREADER 800 13.9 KOMMUNIKATION ZWISCHEN THREADS MIT PIPES 801
13.9.1 PIPEDOUTPUTSTREAM UND PIPEDLNPUTSTREAM 801 13.9.2 PIPEDWRITER UND
PIPEDREADER 803 13.10 DATENKOMPRESSION 805 13.10.1 JAVA-UNTERSTUETZUNG
BEIM KOMPRIMIEREN UND ZUSAMMENPACKEN 806 13.10.2 DATENSTROEME
KOMPRIMIEREN 806 13.10.3 ZIP-ARCHIVE 810 13.10.4 JAR-ARCHIVE 816 13.11
PRUEFSUMMEN 816 13.11.1 DIE SCHNITTSTELLE CHECKSUM 817 13.11.2 DIE KLASSE
CRC32 818 13.11.3 DIE ADLER32-KLASSE 819 13.12 PERSISTENTE OBJEKTE UND
SERIALISIERUNG 820 13.12.1 OBJEKTE MIT DER STANDARD-SERIAIISIERUNG
SPEICHERN UND LESEN 821 13.12.2 ZWEI EINFACHE ANWENDUNGEN DER
SERIALISIERUNG 823 13.12.3 DIE SCHNITTSTELLE SERIALIZABLE 824 21 INHALT
13.12.4 NICHT SERIALISIERBARE ATTRIBUTE AUSSPAREN 826 13.12.5 DAS
ABSPEICHERN SELBST IN DIE HAND NEHMEN 827 13.12.6 TIEFE OBJEKTKOPIEN 831
13.12.7 VERSIONENVERWALTUNG UND DIE SUID 832 13.12.8 WIE DIE ARRAYLIST
SERIALISIERT 834 13.12.9 PROBLEME MIT DER SERIALISIERUNG 835
13.12.10SERIALISIEREN IN XML-DATEIEN 835 13.12.11 JAVABEANS PERSISTENCE
836 13.12.12 XSTREAM 838 13.13 TOKENIZER 838 13.13.1 STREAMTOKENIZER 838
13.13.2 CSV-(COMMA SEPARATED VALUES-)DATEIEN VERARBEITEN 841 13.14 ZUM
WEITERLESEN 842 14.1 AUSZEICHNUNGSSPRACHEN 843 14.1.1 DIE STANDARD
GENERALIZED MARKUP LANGUAGE (SGML) 843 14.1.2 EXTENSIBLE MARKUP LANGUAGE
(XML) 844 14.2 EIGENSCHAFTEN VON XML-DOKUMENTEN 844 14.2.1 ELEMENTE UND
ATTRIBUTE 844 14.2.2 BESCHREIBUNGSSPRACHE FUER DEN AUFBAU VON
XML-DOKUMENTEN ... 846 14.2.3 SCHEMA - EINE ALTERNATIVE ZU DTD 849
14.2.4 NAMENSRAUM (NAMESPACE) 852 14.2.5 XML-APPLIKATIONEN 853 14.3 DIE
JAVA-APIS FUER XML 853 14.3.1 DAS DOCUMENT OBJECT MODEL (DOM) 854 14.3.2
SIMPLE API FOR XML PARSING (SAX) 854 14.3.3 PULL-API STAX 854 14.3.4
JAVA DOCUMENT OBJECT MODEL (JDOM) 855 14.3.5 JAXP ALS JAVA-SCHNITTSTELLE
ZU XML 855 14.3.6 DOM-BAEUME EINLESEN MIT JAXP 856 14.4 SERIELLE
VERARBEITUNG MIT STAX 856 14.4.1 UNTERSCHIEDE DER VERARBEITUNGSMODELLE
857 14.4.2 XML-DATEIEN MIT DEM CURSOR-VERFAHREN LESEN 858 14.4.3
XML-DATEIEN MIT DEM ITERATOR-VERFAHREN VERARBEITEN 860 14.4.4 MIT
FILTERN ARBEITEN 861 14.4.5 XML-DOKUMENTE SCHREIBEN 862 14.5 SERIELLE
VERARBEITUNG VON XML MIT SAX 865 14.5.1 SCHNITTSTELLEN VON SAX 865
14.5.2 SAX-PARSER ERZEUGEN 866 14.5.3 DIE WICHTIGSTEN METHODEN DER
SCHNITTSTELLE CONTENTHANDLER 866 14.5.4 ERRORHANDLER UND ENTITYRESOLVER
868 22 INHALT 14.6 XML-DATEIEN MIT JDOM VERARBEITEN 869 14.6.1 JDOM
BEZIEHEN 869 14.6.2 PAKETUEBERSICHT 870 14.6.3 DIE DOCUMENT-KLASSE 871
14.6.4 EINGABEN AUS DER DATEI LESEN 872 14.6.5 DAS DOKUMENT IM
XML-FORMAT AUSGEBEN 873 14.6.6 DER DOKUMENTTYP 873 14.6.7 ELEMENTE 874
14.6.8 ZUGRIFF AUF ELEMENTINHALTE 876 14.6.9 LISTE MIT UNTERELEMENTEN
ERZEUGEN 879 14.6.10 NEUE ELEMENTE EINFUEGEN UND AENDERN 879 14.6.11
ATTRIBUTINHALTE LESEN UND AENDERN 882 14.6.12 XPATH 884 14.7
TRANSFORMATIONEN MIT XSLT 887 14.7.1 TEMPLATES UND XPATH ALS
KERNELEMENTE VON XSLT 887 14.7.2 UMWANDLUNG VON XML-DATEIEN MIT JDOM UND
JAXP 889 14.8 JAVA ARCHITECTURE FOR XML BINDING (JAXB) 890 14.8.1 BEANS
FUER JAXB AUFBAUEN 890 14.8.2 JAXBCONTEXT UND DIE MARSHALLER/UNMARSHALLER
892 14.9 HTML-DOKUMENTE EINLESEN 893 14.10 ZUM WEITERLESEN 894 15.1 DAS
ABSTRACT WINDOW TOOLKIT UND SWING 895 15.1.1 ABSTRACT WINDOW TOOLKIT
(AWT) 895 15.1.2 JAVA FOUNDATION CLASSES 896 15.1.3 WAS SWING VON AWT
UNTERSCHEIDET 899 15.1.4 DIE KLASSE TOOLKIT 899 15.2 FENSTER UNTER
GRAFISCHEN OBERFLAECHEN 900 15.2.1 SWING-FENSTER DARSTELLEN 900 15.2.2
AWT-FENSTER DARSTELLEN 902 15.2.3 SICHTBARKEIT DES FENSTERS 903 15.2.4
GROESSE UND POSITION DES FENSTERS VERAENDERN 903 15.2.5 UNTERKLASSEN DER
FENSTER-KLASSEN BILDEN 904 15.2.6 FENSTER-UND DIALOG-DEKORATION 905
15.2.7 DYNAMISCHES LAYOUT WAEHREND EINER GROESSENAENDERUNG 905 15.3
BESCHRIFTUNGEN (JLABEL) 906 15.3.1 MEHRZELLIGER TEXT, HTML IN DER
DARSTELLUNG 909 15.4 ICON UND IMAGELCON FUER BILDER AUF SWING-KOMPONENTEN
909 15.4.1 DIE SCHNITTSTELLE ICON 911 15.5 ES TUT SICH WAS - EREIGNISSE
BEIM AWT 913 15.5.1 DIE KLASSE AWTEVENT 913 23 15.5.2 EVENTS AUF
VERSCHIEDENEN EBENEN 914 15.5.3 SWINGS EREIGNISQUELLEN UND HORCHER
(LISTENER) 916 15.5.4 LISTENER IMPLEMENTIEREN 916 15.5.5 LISTENER BEI
DEM EREIGNISAUSLOESER ANMELDEN/ABMELDEN 919 15.5.6 AUFRUFEN DER LISTENER
IM AWT-EVENT-THREAD 919 15.5.7 ADAPTERKLASSEN NUTZEN 920 15.5.8 INNERE
MITGLIEDSKLASSEN UND INNERE ANONYME KLASSEN 922 15.6 SCHALTFLAECHEN 923
15.6.1 NORMALE SCHALTFLAECHEN (JBUTTON) 923 15.6.2 DER AUFMERKSAME
ACTIONLISTENER 925 15.6.3 BASISKLASSE ABSTRACTBUTTON 927 15.6.4
WECHSELKNOPF (JTOGGLEBUTTON) 929 15.7 SWING ACTION 929 15.7.1
JAVAX.SWING.ACTION 930 15.7.2 EIGENSCHAFTEN DER ACTION-OBJEKTE 930 15.8
JCOMPONENT UND COMPONENT ALS BASIS ALLER KOMPONENTEN 931 15.8.1 TOOLTIPS
931 15.8.2 RAHMEN (BORDER) 932 15.8.3 FOKUS UND NAVIGATION 935 15.8.4
EREIGNISSE JEDER KOMPONENTE 936 15.8.5 DIE GROESSE UND POSITION EINER
KOMPONENTE 938 15.8.6 KOMPONENTEN-EREIGNISSE 939 15.8.7 HINZUFUEGEN VON
KOMPONENTEN 940 15.8.8 UL-DELEGATE - DER WAHRE ZEICHNER 940 15.8.9
UNDURCHSICHTIGE (OPAK) KOMPONENTE 943 15.8.10 PROPERTIES UND LISTENER
FUER AENDERUNGEN 943 15.9 CONTAINER 944 15.9.1 STANDARDCONTAINER (JPANEL)
944 15.9.2 BEREICH MIT AUTOMATISCHEN ROLLBALKEN (JSCROLLPANE) 945 15.9.3
REITER (JTABBEDPANE) 946 15.9.4 TEILUNG-KOMPONENTE (JSPLITPANE) 947
15.10 ALLES AUSLEGUNGSSACHE: DIE LAYOUTMANAGER 947 15.10.1 UEBERSICHT
UEBER LAYOUTMANAGER 947 15.10.2 ZUWEISEN EINES LAYOUTMANAGERS 948 15.10.3
IM FLUSS MIT FLOWLAYOUT 949 15.10.4 MIT BORDERLAYOUT IN ALLEN
HIMMELSRICHTUNGEN 951 15.10.5 RASTERANORDNUNG MIT GRIDLAYOUT 954 15.10.6
DER GRIDBAGLAYOUT-MANAGER 955 15.10.7 NULL-LAYOUT 960 15.10.8 BOXLAYOUT
961 15.10.9 WEITERE LAYOUTMANAGER 962 INHALT 15.11 ROLLBALKEN UND
SCHIEBEREGLER 962 15.11.1 SCHIEBEREGLER (JSLIDER) 962 15.11.2 ROLLBALKEN
(JSCROLLBAR) 964 15.12 KONTROLLFELDER, OPTIONSFELDER,
KONTROLLFELDGRUPPEN 968 15.12.1 KONTROLLFELDER (JCHECKBOX) 968 15.12.2
ITEMSELECTABLE, ITEMUESTENER UND DAS ITEMEVENT 971 15.12.3 SICH
GEGENSEITIG AUSSCHLIESSENDE OPTIONEN (JRADIOBUTTON) 972 15.13
FORTSCHRITTE BEI OPERATIONEN UEBERWACHEN 974 15.13.1 FORTSCHRITTSBALKEN
(JPROGRESSBAR) 974 15.13.2 DIALOG MIT FORTSCHRITTSANZEIGE
(PROGRESSMONITOR) 976 15.14 MENUES UND SYMBOLLEISTEN 976 15.14.1 DIE
MENUELEISTEN UND DIE EINTRAEGE 977 15.14.2 MENUEEINTRAGE DEFINIEREN 978
15.14.3 EINTRAEGE DURCH ACTION-OBJEKTE BESCHREIBEN 980 15.14.4 MIT DER
TASTATUR: MNEMONICS UND SHORTCUT 981 15.14.5
DERTASTATUR-SHORTCUT(ACCELERATOR) 981 15.14.6 TASTENKUERZEL (MNEMONICS)
983 15.14.7 SYMBOLLEISTEN ALIAS TOOLBARS 983 15.14.8 POPUP-MENUES 986
15.14.9 SYSTEM-TRAY NUTZEN 989 15.15 DAS MODEL-VIEW-CONTROLLER-KONZEPT
990 15.16 AUSWAHLMENUES, LISTEN UND SPINNER 992 15.16.1 AUSWAHLMENUE
(JCOMBOBOX) 992 15.16.2 ZUORDNUNG EINER TASTE MIT EINEM EINTRAG 996
15.16.3 DATUMSAUSWAHL 997 15.16.4 LISTEN (JLIST) 997 15.16.5 DREHFELD
(JSPINNER) 1002 15.17 TEXTEINGABEFELDER 1004 15.17.1 TEXT IN EINER
EINGABEZEILE 1004 15.17.2 DIE OBERKLASSE DER TEXT-KOMPONENTEN
(JTEXTCOMPONENT) 1005 15.17.3 GESCHUETZTE EINGABEN (JPASSWORDFIELD) 1006
15.17.4 VALIDIERENDE EINGABEFELDER (JFORMATTEDTEXTFIELD) 1006 15.17.5
EINFACHE MEHRZELLIGE TEXTFELDER (JTEXTAREA) 1008 15.17.6 EDITOR-KLASSE
(JEDITORPANE) 1010 15.18 TABELLEN (JTABLE) 1013 15.18.1 EIN EIGENES
TABELLEN-MODEL 1014 15.18.2 BASISKLASSE FUER EIGENE MODELLE
(ABSTRACTTABLEMODEL) 1015 15.18.3 VORGEFERTIGTES STANDARD-MODELL
(DEFAULTTABLEMODEL) 1018 15.18.4 EIN EIGENER RENDERER FUER TABELLEN 1019
15.18.5 ZEIL-EDITOREN 1023 15.18.6 GROESSE UND UMRANDUNG DER ZELLEN 1024
15.18.7 SPALTENINFORMATIONEN 1024 25 INHALT 15.18.8 TABELLENKOPF VON
SWING-TABELLEN 1025 15.18.9 SELEKTIONEN EINER TABELLE 1025 15.18.10
AUTOMATISCHES SORTIEREN UND FILTERN MIT ROWSORTER 1026 15.18.11 EIN
PROFESSIONELLES TABELLENLAYOUT MIT JGRID 1027 15.19 BAEUME (JTREE) 1028
15.19.1 JTREE UND SEIN TREEMODEL UND TREENODE 1028 15.19.2 SELEKTIONEN
BEMERKEN 1029 15.19.3 DAS TREEMODEL VON JTREE 1030 15.20 JROOTPANE,
JLAYEREDPANE UND JDESKTOPPANE 1032 15.20.1 WURZELKOMPONENTE DER
TOP-LEVEL-KOMPONENTEN (JROOTPANE) ... 1032 15.20.2 JLAYEREDPANE 1033
15.20.3 JDESKTOPPANE UND DIE KINDER JLNTERNALFRAME 1033 15.21 DIALOGE
UND WINDOW-OBJEKTE 1035 15.21.1 JWINDOWUNDJDIALOG 1035 15.21.2 MODAL
ODER NICHT-MODAL 1036 15.21.3 STANDARDDIALOGE MIT JOPTIONPANE 1036
15.21.4 DER FARBAUSWAHLDIALOG JCOLORCHOOSER 1038 15.21.5 DER
DATEIAUSWAHLDIALOG 1040 15.22 FLEXIBLES JAVA-LOOK & FEEL 1044 15.22.1 L
& F GLOBAL SETZEN 1044 15.22.2 ULMANAGER 1044 15.22.3 VERBESSERN DES
AUSSEHENS UNTER WINDOWS MIT JGOODIES LOOKS ... 1046 15.23 DIE
ZWISCHENABLAGE (CLIPBOARD) 1046 15.23.1 CLIPBOARD-OBJEKTE 1046 15.23.2
AUF DEN INHALT ZUGREIFEN MIT TRANSFERABLE 1047 15.23.3 DATAFLAVOR IST
DAS FORMAT DER DATEN IN DER ZWISCHENABLAGE 1048 15.23.4 EINFUEGUNGEN IN
DER ZWISCHENABLAGE ERKENNEN 1050 15.23.5 DRAG & DROP 1050 15.24 UNDO
DURCHFUEHREN 1051 15.25 AWT, SWING UND DIE THREADS 1053 15.25.1
EREIGNISSCHLANGE (EVENTQUEUE) UND AWT-EVENT-THREAD 1053 15.25.2 SWING
IST NICHT THREAD-SICHER 1054 15.25.3 SWING-ELEMENTE MIT INVOKELATERO UND
INVOKEANDWAITO BEDIENEN 1055 15.25.4 SWINGWORKER 1056 15.25.5 EIGENE
EREIGNISSE IN DIE QUEUE SETZEN 1058 15.25.6 AUF ALLE EREIGNISSE HOEREN
1059 15.26 BARRIEREFREIHEIT MIT DER JAVA ACCESSIBILITY API 1059 15.27
BENUTZERINTERAKTIONEN AUTOMATISIEREN 1060 15.27.1 AUTOMATISCH IN DIE
TASTEN HAUEN 1061 15.27.2 MAUSOPERATIONEN 1062 15.27.3 METHODEN ZUR
ZEITSTEUERUNG 1062 26 INHALT 15.27.4 SCREENSHOTS 1063 15.27.5 MOUSELNFO
UND POINTERLNFO 1063 15.28 ZEITLICHES AUSFUEHREN MIT DEM
JAVAX.SWING.TIMER 1064 15.29 ALTERNATIVEN ZU AWT UND SWING 1064 15.29.1
XML-BESCHREIBUNGEN DER OBERFLAECHE: SWIXML, XUL/LUXOR 1065 15.29.2 SWT
(STANDARD WIDGET TOOLKIT) 1065 15.30 ZUM WEITERLESEN 1067 16.1
GRUNDLEGENDES ZUM ZEICHNEN 1069 16.1.1 DIE PAINTO-METHODE FUER DAS
AWT-FRAME 1069 16.1.2 ZEICHEN VON INHALTEN MIT JFRAME 1071 16.1.3
AUFFORDERN ZUM NEUZEICHNEN MIT REPAINTO 1072 16.1.4 GRUNDBEGRIFFE:
KOORDINATEN, PUNKTE, PIXEL 1073 16.1.5 DIE EREIGNISORIENTIERTE
PROGRAMMIERUNG AENDERT FENSTERINHALTE ... 1073 16.1.6 JAVA2D-API 1074
16.2 EINFACHE ZEICHENFUNKTIONEN 1075 16.2.1 LINIEN 1075 16.2.2 RECHTECKE
1076 16.2.3 OVALE UND KREISBOEGEN 1077 16.2.4 POLYGONE UND POLYLINES 1077
16.3 ZEICHENKETTEN SCHREIBEN UND FONTS 1080 16.3.1 ZEICHENFOLGEN
SCHREIBEN 1080 16.3.2 DIE FONT-KLASSE 1081 16.3.3 EINEN NEUEN FONT AUS
EINEM GEGEBENEN FONT ABLEITEN 1082 16.3.4 ZEICHENSAETZE DES SYSTEMS
ERMITTELN 1083 16.3.5 NEUE TRUETYPE-FONTS IN JAVA NUTZEN 1084 16.3.6
FONT-METADATEN DURCH FONTMETRICS 1085 16.4 GEOMETRISCHE OBJEKTE 1088
16.4.1 DIE SCHNITTSTELLE SHAPE 1089 16.4.2 KREISFOERMIGES 1090 16.4.3
KURVIGES 1091 16.4.4 AREA UND DIE KONSTRUKTIVE FLAECHENGEOMETRIE 1091
16.4.5 PFADE 1091 16.4.6 PUNKT IN FORM, SCHNITT VON LINIEN, ABSTAND
PUNKT/LINIE UND WEITERES 1094 16.5 DAS INNERE UND AEUSSERE EINER FORM 1095
16.5.1 FARBEN UND DIE PAINT-SCHNITTSTELLE 1095 16.5.2 FARBEN MIT DER
KLASSE COLOR 1096 16.5.3 DIE FARBEN DES SYSTEMS UEBER SYSTEMCOLOR 1101
16.5.4 COMPOSITE UND XOR 1104 16.5.5 DICKE UND ART DER LINIEN VON FORMEN
BESTIMMEN UEBER STROKE ... 1105 27 INHALT 16.6 BILDER 1109 16.6.1 EINE
UEBERSICHT UEBER DIE BILDER-BIBLIOTHEKEN 1110 16.6.2 BILDER MIT IMAGELO
LESEN 1111 16.6.3 EIN BILD ZEICHNEN 1113 16.6.4
PROGRAMM-ICON/FENSTER-ICON SETZEN 1116 16.6.5 SPLASH-SCREEN 1117 16.6.6
BILDER IM SPEICHER ERZEUGEN 1117 16.6.7 PIXEL FUER PIXEL AUSLESEN UND
SCHREIBEN 1119 16.6.8 BILDER SKALIEREN 1121 16.6.9 SCHREIBEN MIT IMAGELO
1123 16.6.10 ASYNCHRONES LADEN MITGETIMAGEO UND DEM MEDIATRACKER 1126
16.6.11 SELBST DEFINIERTE CURSOR 1127 16.6.12 VOLATILELMAGE 1129 16.7
WEITERE EIGENSCHAFTEN VON GRAPHICS 1129 16.7.1 EINE KOPIE VON GRAPHICS
ERSTELLEN 1129 16.7.2 KOORDINATENSYSTEM VERSCHIEBEN 1130 16.7.3
BESCHNITT (CLIPPING) 1130 16.8 ZEICHENHINWEISE DURCH RENDERINGHINTS 1134
16.9 TRANSFORMATIONEN MIT EINEM AFFINETRANSFORM-OBJEKT 1134 16.10
DRUCKEN 1136 16.10.1 DRUCKEN DER INHALTE 1137 16.10.2 BEKANNTE DRUCKER
1138 16.11 GRAFIKVERARBEITUNG OHNE GRAFISCHE OBERFLAECHE 1139 16.11.1
XVFB-SERVER 1140 16.11.2 PURE JAVA AWT TOOLKIT (PJA) 1140 16.12 ZUM
WEITERLESEN 1141 17.1 GRUNDLEGENDE BEGRIFFE 1143 17.1.1
INTERNET-STANDARDS UND RFC 1144 17.2 URI UND URL 1144 17.2.1 URI 1144
17.2.2 DIE KLASSE URL 1144 17.2.3 INFORMATIONEN UEBER EINE URL 1147
17.2.4 DER ZUGRIFF AUF DIE DATEN UEBER DIE KLASSE URL 1148 17.2.5
VERBINDUNGEN DURCH EINEN PROXY-SERVER 1150 17.3 DIE KLASSE URLCONNECTION
1151 17.3.1 METHODEN UND ANWENDUNG VON URLCONNECTION 1151 17.3.2
PROTOKOLL- UND CONTENT-HANDLER 1153 17.3.3 IM DETAIL: VOM URL ZUR
URLCONNECTION 1154 17.3.4 DER PROTOKOLL-HANDLER FUER JAR-DATEIEN 1155
INHALT 17.3.5 PASSWORT-GESCHUETZTE SEITEN MIT BASIC AUTHENTICATION/
PROXY-AUTHENTIFIZIERUNG 1157 17.4 MIT GET UND POST DATEN UEBERGEBEN 1159
17.4.1 KODIEREN DER PARAMETER FUER SERVERPROGRAMME 1159 17.4.2 EINE
SUCHMASCHINE ANSPRECHEN 1160 17.5 HOST- UND IP-ADRESSEN 1161 17.5.1 LEBT
DER RECHNER? 1163 17.5.2 DAS NETZ IST KLASSE 1164 17.5.3 IP-ADRESSE DES
LOKALEN HOSTS 1164 17.6 NETWORKINTERFACE 1165 17.7 MIT DEM SOCKET ZUM
SERVER 1166 17.7.1 DAS NETZWERK IST DER COMPUTER 1166 17.7.2 SOCKETS
1166 17.7.3 EINE VERBINDUNG ZUM SERVER AUFBAUEN 1167 17.7.4 SERVER UNTER
SPANNUNG: DIE STROEME 1168 17.7.5 DIE VERBINDUNG WIEDER ABBAUEN 1169
17.7.6 INFORMATIONEN UEBER DEN SOCKET 1169 17.7.7 REINE VERBINDUNGSDATEN
UEBER SOCKETADDRESS 1171 17.8 CLIENT/SERVER-KOMMUNIKATION 1172 17.8.1
WARTEN AUF VERBINDUNGEN 1173 17.8.2 EIN MULTIPLIKATIONSSERVER 1174
17.8.3 BLOCKIERENDES LESEN 1176 17.8.4 VON AUSSEN ERREICHBAR SEIN 1177
17.9 APACHE JAKARTA COMMONS HTTPCLIENT UND NET 1178 17.9.1 JAKARTA
COMMONS HTTPCLIENT 1178 17.9.2 JAKARTA COMMONS NET 1179 17.10
ARBEITSWEISE EINES WEBSERVERS 1180 17.10.1 DAS HYPERTEXT TRANSFER
PROTOCOL (HTTP) 1180 17.10.2 ANFRAGEN AN DEN SERVER 1180 17.10.3 DIE
ANTWORTEN VOM SERVER 1183 17.10.4 WEBSERVER MIT
COM.SUN.NET.HTTPSERVER.HTTPSERVER 1186 17.11 DATAGRAM-SOCKETS 1187
17.11.1 DIE KLASSE DATAGRAMSOCKET 1189 17.11.2 DATAGRAMME UND DIE KLASSE
DATAGRAM PACKET 1190 17.11.3 AUF EIN HEREINKOMMENDES PAKET WARTEN 1191
17.11.4 EIN PAKET ZUM SENDEN VORBEREITEN 1192 17.11.5 METHODEN DER
KLASSE DATAGRAM PACKET 1193 17.11.6 DAS PAKETSENDEN 1193 17.12 E-MAIL
1194 17.12.1 WIE EINE E-MAIL UM DIE WELT GEHT 1195 17.12.2 DAS SIMPLE
MAIL TRANSFER PROTOCOL UND RFC 822 1195 17.12.3 POP (POST OFFICE
PROTOCOL) 1196 29 INHALT 17.12.4 DIE JAVAMAIL API 1196 17.12.5 E-MAILS
MITTELS POP3 ABRUFEN 1197 17.12.6 E-MAILS VERSENDEN 1199 17.12.7
EREIGNISSE UND SUCHEN 1202 17.13 TIEFERLIEGENDE NETZWERKEIGENSCHAFTEN
1203 17.13.1 INTERNET CONTROL MESSAGE PROTOCOL (ICMP) 1203 17.13.2
MAC-ADRESSE 1203 17.14 ZUM WEITERLESEN 1204 18.1 ENTFERNTE OBJEKTE UND
METHODEN 1205 18.1.1 STELLVERTRETER HELFEN BEI ENTFERNTEN
METHODENAUFRUFEN 1205 18.1.2 STANDARDS FUER ENTFERNTE OBJEKTE 1207 18.2
JAVA REMOTE METHOD INVOCATION 1207 18.2.1 ZUSAMMENSPIEL VON SERVER,
REGISTRY UND CLIENT 1207 18.2.2 WIE DIE STELLVERTRETER DIE DATEN
UEBERTRAGEN 1207 18.2.3 PROBLEME MIT ENTFERNTEN METHODEN 1208 18.2.4
NUTZEN VON RMI BEI MIDDLEWARE-LOESUNGEN 1210 18.2.5 ZENTRALE KLASSEN UND
SCHNITTSTELLEN 1210 18.2.6 ENTFERNTE UND LOKALE OBJEKTE IM VERGLEICH
1211 18.3 AUF DER SERVERSEITE 1211 18.3.1 ENTFERNTE SCHNITTSTELLE
DEKLARIEREN 1211 18.3.2 REMOTE-OBJEKT-IMPLEMENTIERUNG 1212 18.3.3
STELLVERTRETEROBJEKTE 1213 18.3.4 DER NAMENSDIENST (REGISTRY) 1213
18.3.5 REMOTE-OBJEKT-IMPLEMENTIERUNG EXPORTIEREN UND BEIM NAMENSDIENST
ANMELDEN 1215 18.3.6 EINFACHES LOGGING 1217 18.3.7 AUFRAEUMEN MIT DEM DGC
1218 18.4 AUF DER CLIENTSEITE 1218 18.5 ENTFERNTE OBJEKTE UEBERGEBEN UND
LADEN 1219 18.5.1 KLASSEN VOM RMI-KLASSENLADER NACHLADEN 1220 18.6
WEITERE EIGENSCHAFTEN VON RMI 1220 18.6.1 RMI UND CORBA 1220 18.6.2 RMI
UEBER HTTP GETUNNELT 1220 18.6.3 AUTOMATISCHE REMOTE-OBJEKT-AKTIVIERUNG
1221 18.7 DAILY SOAP 1222 18.7.1 SOAP-PROTOKOLL 1222 18.7.2 DIE
TECHNISCHE REALISIERUNG 1223 18.7.3 SOAP-IMPLEMENTIERUNGEN 1223 18.7.4
@WEBSERVICE IN JAVA 6 1224 30 INHALT 18.7.5 EINEN WEB-SERVICE DEFINIEREN
1224 18.7.6 WEB-SERVICES VEROEFFENTLICHEN 1225 18.7.7 EINEN JAX-WS-CLIENT
IMPLEMENTIEREN 1225 18.8 JAVAMESSAGE SERVICE (JMS) 1227 18.9 ZUM
WEITERLESEN 1228 19.1 DYNAMISCH GENERIERTE WEBSEITEN 1229 19.1.1 WAS
SIND SERVLETS? 1229 19.1.2 WAS SIND JAVASERVER PAGES? 1230 19.2 SERVLETS
UND JSPS MIT TOMCAT ENTWICKELN 1231 19.2.1 SERVLET-CONTAINER 1231 19.2.2
ENTWICKLUNG DER SERVLET/JSP-SPEZIFIKATIONEN 1232 19.2.3 WEBSERVER MIT
SERVLET-FUNKTIONALITAET 1232 19.2.4 TOMCAT 1232 19.2.5 ABLAGEORT FUER
EIGENE JSP-SEITEN 1233 19.2.6 WEB-APPLIKATIONEN 1234 19.2.7 ZUORDNUNG
VON WEB-APPLIKATIONEN ZU PHYSIKALISCHEN VERZEICHNISSEN 1235 19.2.8 MIT
DEM WTP EIN WEB-PROJEKT ENTWICKELN 1235 19.3 STATISCHES UND DYNAMISCHES
1236 19.3.1 STATISCHER TEMPLATE-CODE 1236 19.3.2 DYNAMISCHE INHALTE 1237
19.3.3 KOMMENTARE 1237 19.4 DIE EXPRESSION LANGUAGE (EL) 1237 19.4.1
OPERATOREN DER EL 1238 19.4.2 LITERALE 1238 19.4.3 IMPLIZITE EL-OBJEKTE
1239 19.5 FORMULARDATEN 1239 19.6 AUF BEANS ZURUECKGREIFEN 1240 19.6.1
BEANS IN JSP-SEITEN ANLEGEN 1240 19.6.2 PROPERTIES EINER BEAN IM
EL-AUSDRUCK ERFRAGEN 1241 19.6.3 PROPERTIES MIT SETZEN 1241 19.6.4
BEAN-KLASSE ZUM TESTEN VON E-MAIL-ADRESSEN 1242 19.6.5 PARAMETERWERTE IN
BEAN UEBERTRAGEN 1243 19.7 JSP TAG-LIBRARIES 1243 19.7.1 STANDARD TAG
LIBRARY (JSTL) 1244 19.7.2 JAKARTA TAGLIBS PROJECT 1247 19.8 EINBINDEN
UND WEITERLEITEN 1248 19.8.1 EINBINDEN VON INHALTEN 1248 19.8.2 FORWARD
UND REDIRECT 1250 19.8.3 APPLETS EINBINDEN 1250 31 INHALT 19.9 SKRIPTEN
VON JSPS 1251 19.9.1 SCRIPTLETS 1251 19.9.2 JSP-AUSDRUECKE 1251 19.9.3
JSP-DEKLARATIONEN 1252 19.9.4 QUOTING 1252 19.9.5 ENTSPRECHENDE XML-TAGS
1252 19.9.6 IMPLIZITE OBJEKTE FUER SCRIPTLETS UND JSP-AUSDRUECKE 1253
19.10 JSP-DIREKTIVEN 1253 19.10.1 PAGE-DIREKTIVEN IM UEBERBLICK 1254
19.10.2 MITJSPS BILDER GENERIEREN 1255 19.11 SITZUNGSVERFOLGUNG (SESSION
TRACKING) 1256 19.11.1 LOESUNGEN FUER SITZUNGSVERFOLGUNG 1257 19.11.2 AUF
SESSION-DATEIEN ZURUECKGREIFEN 1258 19.12 SERVLETS 1258 19.12.1 SERVLETS
COMPILIEREN 1259 19.12.2 SERVLET-MAPPING 1260 19.12.3 DER LEBENSZYKLUS
EINES SERVLETS 1261 19.12.4 MEHRERE ANFRAGEN BEIM SERVLET UND DIE
THREAD-SICHERHEIT 1261 19.12.5 SERVLETS UND SESSIONS 1261 19.12.6
WEITERLEITEN UND EINBINDEN VON SERVLET-INHALTEN 1262 19.13
INTERNATIONALISIERUNG 1263 19.13.1 DIE LAENDERKENNUNG DES ANFRAGERS
AUSLESEN 1264 19.13.2 LAENDERKENNUNG FUER DIE AUSGABE SETZEN 1264 19.13.3
WESTEUROPAEISCHE TEXTE SENDEN 1264 19.14 ZUM WEITERLESEN 1265 20.1
APPLETS IN DER WIEGE VON JAVA 1267 20.1.1 (J)APPLET UND APPLIKATIONEN
1267 20.1.2 DAS ERSTE HALLO-APPLET 1267 20.1.3 DIE ZYKLEN EINES APPLETS
1269 20.1.4 PARAMETER AN DAS APPLET UEBERGEBEN 1269 20.1.5 WIE DAS APPLET
DEN BROWSER-INHALT AENDERN KANN 1271 20.1.6 DEN URSPRUNG DES APPLETS
ERFRAGEN 1271 20.1.7 DATENAUSTAUSCH ZWISCHEN APPLETS 1273 20.1.8 WAS EIN
APPLET ALLES DARF 1275 20.2 FEHLER IN APPLETS FINDEN 1276 20.2.1 IST
JAVA IM BROWSER AKTIVIERT? 1276 20.2.2 LAEUFT DAS APPLET UNTER NETSCAPE
ODER MICROSOFT EXPLORER? 1277 20.2.3 DATENAUSTAUSCH ZWISCHEN APPLETS UND
JAVA-SKRIPTEN 1278 20.3 WEBSTART 1279 32 INHALT 21.1 JAVA PLATFORM,
MICRO EDITION (JAVA ME) 1281 21.2 KONFIGURATIONEN 1281 21.2.1 CONNECTED
LIMITED DEVICE CONFIGURATION (CLDQ 1281 21.2.2 CONNECTED DEVICE
CONFIGURATION (CDC) 1282 21.3 PROFILE 1282 21.3.1 MOBILE INFORMATION
DEVICE PROFILE (MIDP) 1282 21.3.2 WEITERE PROFILE 1283 21.4 WIRELESS
TOOLKITS 1283 21.4.1 SUN JAVA WIRELESS TOOLKIT FOR CLDC 1283 21.4.2
ECLIPSE-PLUGIN 1284 21.5 DIE MIDLET-API 1286 21.5.1 PAKETSTRUKTUR MOBILE
INFORMATION DEVICE PROFILE (2.0) 1286 21.6 ZUM WEITERLESEN 1287 22.1 DAS
RELATIONALE MODELL 1289 22.2 DATENBANKEN UND TOOLS 1290 22.2.1 HSQLDB
1290 22.2.2 WEITERE DATENBANKEN 1291 22.2.3 EDIPSE-PLUGINS ZUM
DURCHSCHAUEN VON DATENBANKEN 1293 22.3 JDBC UND DATENBANKTREIBER 1295
22.3.1 TREIBERTYPEN 1296 22.3.2 JDBC-VERSIONEN 1297 22.4 EINE
BEISPIELABFRAGE 1298 22.4.1 SCHRITTE ZUR DATENBANKABFRAGE 1298 22.4.2
CLIENT FUER HSQLDB-DATENBANK 1299 22.5 MIT JAVA AN EINE DATENBANK
ANDOCKEN 1300 22.5.1 DER TREIBER-MANAGER 1301 22.5.2 DEN TREIBER LADEN
1301 22.5.3 EINE AUFZAEHLUNG ALLER TREIBER 1302 22.5.4 LOG-INFORMATIONEN
1303 22.5.5 VERBINDUNG ZUR DATENBANK AUF-UND ABBAUEN 1304 22.5.6
DATASOURCE 1307 22.5.7 GEPOOLTE VERBINDUNGEN 1310 22.6 DATENBANKABFRAGEN
1310 22.6.1 ABFRAGEN UEBER DAS STATEMENT-OBJEKT 1310 22.6.2 ERGEBNISSE
EINER ABFRAGE IN RESULTSET 1312 22.6.3 JAVA UND SQL-DATENTYPEN 1314
22.6.4 UNICODE IN DER SPALTE KORREKT AUSLESEN 1317 33 INHALT 22.6.5 EINE
SQL-NULL UND WASNULLO BEI RESULTSET 1317 22.6.6 WIE VIELE ZEILEN HAT EIN
RESULTSET? 1318 22.7 DIE AUSNAHMEN BEIJDBC 1318 22.8 ELEMENTE EINER
DATENBANK HINZUFUEGEN UND AKTUALISIEREN 1319 22.8.1 BATCH-UPDATES 1320
22.9 RESULTSETS IN BOHNEN DURCH ROWSET 1321 22.9.1 DIE SCHNITTSTELLE
ROWSET 1321 22.9.2 IMPLEMENTIERUNGEN VON ROWSET 1322 22.9.3 DER TYP
CACHEDROWSET 1322 22.9.4 DER TYP WEBROWSET 1323 22.10 VORBEREITETE
ANWEISUNGEN (PREPARED STATEMENTS) 1325 22.10.1 PREPAREDSTATEMENT-OBJEKTE
VORBEREITEN 1326 22.10.2 WERTE FUER DIE PLATZHALTEREINES
PREPAREDSTATEMENT 1326 22.11 TRANSAKTIONEN 1328 22.12 METADATEN 1328
22.12.1 METADATEN UEBER DIE TABELLE 1328 22.12.2 INFORMATIONEN UEBER DIE
DATENBANK 1332 22.13 EINFUEHRUNG IN SQL 1333 22.13.1 EIN RUNDGANG DURCH
SQL-ANFRAGEN 1333 22.13.2 DATENABFRAGE MIT DER DATA QUERY LANGUAGE (DQL)
1335 22.13.3 TABELLEN MIT DER DATA DEFINITION LANGUAGE (DDL) ANLEGEN
1337 22.14 ZUM WEITERLESEN 1337 23.1 METADATEN 1339 23.1.1 METADATEN
DURCH JAVA-DOC TAGS 1339 23.1.2 XDODET 1340 23.2 METADATEN DER KLASSEN
MIT DEM CLASS-OBJEKT 1340 23.2.1 AN EIN CLASS-OBJEKT KOMMEN 1341 23.2.2
WAS DAS CLASS-OBJEKT BESCHREIBT 1343 23.2.3 DER NAME DER KLASSE 1345
23.2.4 INSTANCEOF MIT CLASS-OBJEKTEN 1347 23.2.5 OBERKLASSEN FINDEN 1347
23.2.6 IMPLEMENTIERTE INTERFACES EINER KLASSE ODER EINES INTERFACES 1348
23.2.7 MODIFIZIERER UND DIE KLASSE MODIFIER 1349 23.2.8 DIE ARBEIT AUF
DEM FELD 1350 23.3 ATTRIBUTE, METHODEN UND KONSTRUKTOREN 1351 23.3.1
REFLECTIONS GESPUER FUER ATTRIBUTE EINER KLASSE 1352 23.3.2 METHODEN EINER
KLASSE ERFRAGEN 1355 23.3.3 PROPERTIES EINER BEAN ERFRAGEN 1358 23.3.4
KONSTRUKTOREN EINER KLASSE 1359 23.3.5 ANNOTATIONEN 1361 34 INHALT 23.4
OBJEKTE ERZEUGEN UND MANIPULIEREN 1361 23.4.1 OBJEKTE ERZEUGEN 1361
23.4.2 DIE BELEGUNG DER VARIABLEN ERFRAGEN 1363 23.4.3 EINE GENERISCHE
TOSTRINGO-FUNKTION 1365 23.4.4 VARIABLEN SETZEN 1366 23.4.5 PRIVATE
ATTRIBUTE AENDERN 1368 23.5 METHODEN AUFRUFEN 1369 23.5.1 STATISCHE
METHODEN AUFRUFEN 1370 23.5.2 DYNAMISCHE METHODENAUFRUFE BEI FESTEN
METHODEN BESCHLEUNIGEN 1371 23.6 INFORMATIONEN UND IDENTIFIZIERUNG VON
PAKETEN 1372 23.6.1 GELADENE PAKETE 1373 23.7 ANNOTATIONEN 1373 23.7.1
NEUE ANNOTATIONEN DEFINIEREN 1373 23.7.2 ANNOTATIONEN MIT GENAU EINEM
ELEMENT 1373 23.7.3 BELIEBIGE SCHLUESSEL-WERTE-PAARE 1375 23.7.4
VORBELEGTE ELEMENTE 1378 23.7.5 ANNOTIEREN VON ANNOTATIONSTYPEN 1379
23.7.6 ANNOTATIONEN ZUR LAUFZEIT AUSGELESEN 1381 23.7.7 MOEGLICHE
NACHTEILE VON ANNOTATIONEN 1383 24.1 DIE LOGGING-API 1385 24.1.1
EINFACHES LOGGING 1385 24.1.2 LOG-LEVEL 1386 24.1.3 LOGGING IN EINE
DATEI 1386 24.2 UEBERWACHEN VON SYSTEMZUSTAENDEN 1387 24.3 MBEAN-TYPEN,
MBEAN-SERVER UND WEITERE BEGRIFFE , 1388 24.3.1 MXBEANS DES SYSTEMS 1389
24.4 GESCHWAETZIGE PROGRAMME UND JCONSOLE 1391 24.4.1 JCONSOLE 1391 24.5
DER MBEANSERVER 1393 24.6 EINE EIGENE STANDARD-MBEAN 1394 24.6.1
MANAGEMENT-SCHNITTSTELLE 1394 24.6.2 IMPLEMENTIERUNG DER MANAGED
RESSOURCE 1394 24.6.3 ANMELDUNG BEIM SERVER 1395 24.6.4 EIGENE BEAN IN
JCONSOLE 1395 24.6.5 JMX MIT RMI-ADAPTOR 1397 24.7 ZUM WEITERLESEN 1399
35 INHALT 25.1 ZENTRALE ELEMENTE DER JAVA-SICHERHEIT 1401 25.1.1
SECURITY-API DERJAVASE 1401 25.1.2 CRYPTOGRAPHIC SERVICE PROVIDERS 1402
25.2 DER SANDKASTEN (SANDBOX) 1403 25.3 SICHERHEITSMANAGER (SECURITY
MANAGER) 1403 25.3.1 DER SICHERHEITSMANAGER BEI APPLETS 1405 25.3.2
SICHERHEITSMANAGER AKTIVIEREN 1406 25.3.3 WIE NUTZEN DIE
JAVA-BIBLIOTHEKEN DEN SICHERHEITSMANAGER? 1407 25.3.4 RECHTE DURCH
POLICY-DATEIEN VERGEBEN 1408 25.3.5 ERSTELLEN VON RECHTEDATEIEN MIT DEM
GRAFISCHEN POLICY-TOOL 1410 25.3.6 KRITIK AN DEN POLICIES 1410 25.4
SIGNIERUNG 1412 25.4.1 WARUM SIGNIEREN? 1412 25.4.2 DIGITALE AUSWEISE
UND DIE ZERTIFIZIERUNGSSTELLE 1412 25.4.3 MIT KEYTOOL SCHLUESSEL ERZEUGEN
1413 25.4.4 SIGNIEREN MITJARSIGNER 1414 25.5 DIGITALE UNTERSCHRIFTEN ,
1414 25.5.1 DIE MDX-REIHE 1415 25.5.2 SECURE HASH ALGORITHM (SHA) 1415
25.5.3 MIT DER SECURITY-API EINEN FINGERABDRUCK BERECHNEN 1416 25.5.4
DIE KLASSE MESSAGEDIGEST 1416 25.5.5 UNIX-CRYPT 1418 25.6 VERSCHLUESSELN
VON DATEN(-STROEMEN) 1418 25.6.1 DEN SCHLUESSEL BITTE 1418 25.6.2
VERSCHLUESSELN MIT CIPHER 1420 25.6.3 VERSCHLUESSELN VON DATENSTROEMEN 1420
25.7 ZUM WEITERLESEN 1422 26.1 JAVA NATIVE INTERFACE UND INVOCATION-API
1423 26.2 EINBINDEN EINER C-FUNKTION IN EIN JAVA-PROGRAMM 1424 26.2.1
SCHREIBEN DES JAVA-CODES 1424 26.2.2 COMPILIEREN DES JAVA-PROGRAMMS 1425
26.2.3 ERZEUGEN DER HEADER-DATEI 1425 26.2.4 IMPLEMENTIERUNG DER METHODE
IN C 1426 26.2.5 UEBERSETZEN DER C-PROGRAMME UND ERZEUGEN DER DYNAMISCHEN
BIBLIOTHEK 1427 26.2.6 SUCHORT DER DYNAMISCHEN BIBLIOTHEK 1429 26.3
NATIV DIE STRINGLAENGE ERMITTELN 1429 36 INHALT 26.4 ERWEITERTE
JNI-EIGENSCHAFTEN 1430 26.4.1 KLASSENDEFINITIONEN 1430 26.4.2 ZUGRIFF
AUF ATTRIBUTE 1431 26.5 EINFACHE ANBINDUNG VON EXISTIERENDEN
BIBLIOTHEKEN 1433 26.5.1 C++ KLASSEN ANSPRECHEN 1433 26.5.2
COM-SCHNITTSTELLEN ANZAPFEN 1433 26.6 ZUM WEITERLESEN 1434 27.1 DIE
WERKZEUGE IM UEBERBLICK 1435 27.2 JAVA-COMPILER 1435 27.2.1 BYTECODE
COMPILER JAVAC 1435 27.2.2 NATIVE COMPILER 1436 27.2.3 JAVA-PROGRAMME IN
EIN NATIVES AUSFUEHRBARES PROGRAMM EINPACKEN 1437 27.3 DER
JAVA-INTERPRETER JAVA 1437 27.3.1
DERUNTERSCHIEDZWISCHENJAVA.EXEUNDJAVAW.EXE 1438 27.4 DAS ARCHIVFORMAT
JAR 1439 27.4.1 DAS DIENSTPROGRAMM JAR BENUTZEN 1439 27.4.2 DAS MANIFEST
1442 27.4.3 APPLIKATIONEN IN JAR-ARCHIVEN STARTEN 1442 27.4.4 APPLETS IN
JAR-ARCHIVEN 1443 27.5 MONITORINGPROGRAMME 1444 27.5.1 JPS 1444 27.5.2
JSTAT 1444 27.5.3 JMAP 1444 27.5.4 JSTACK 1445 27.6 ANT 1445 27.6.1
BEZUG UND INSTALLATION VON ANT 1446 27.6.2 PROPERTIES 1447 27.6.3
EXTERNE UND VORDEFINIERTE PROPERTIES 1448 27.6.4 WEITERE ANT-TASKS 1449
27.7 DECOMPILER UND OBFUSCATOREN 1450 27.7.1 DER DECOMPILER JAD 1451
27.7.2 DAS OBFUSCATOR-PROGRAMM PROGUARD 1451 27.8 WEITERE
DIENSTPROGRAMME 1452 27.8.1 SOURCECODE BEAUTIFIER 1452 27.8.2
JAVA-PROGRAMME ALS SYSTEMDIENST AUSFUEHREN 1453 27.9 ZUM WEITERLESEN 1454
INDEX 1457 37
|
adam_txt |
CHRISTIAN ULLENBOOM JAVA IST AUCH EINE INSEL PROGRAMMIEREN MIT DER JAVA
PLATFORM, STANDARD EDITION 6 GALILEO PRESS INHALT VORWORT 39 1.1 DER
ERSTE KONTAKT 55 1.2 HISTORISCHER HINTERGRUND 55 1.3 EIGENSCHAFTEN VON
JAVA 57 1.3.1 BYTECODE UND DIE VIRTUELLE MASCHINE 57 1.3.2
OBJEKTORIENTIERUNG IN JAVA 58 1.3.3 JAVA-SECURITY-MODELL 59 1.3.4 ZEIGER
UND REFERENZEN 59 1.3.5 BRING DEN MUELL RAUS, GARBAGE-COLLECTOR! 60 1.3.6
AUSNAHMEBEHANDLUNG 61 1.3.7 KEIN PRAEPROZESSOR FUER TEXTERSETZUNGEN 61
1.3.8 KEINE UEBERLADENEN OPERATOREN 62 1.3.9 JAVA ALS SPRACHE,
LAUFZEITUMGEBUNG UND BIBLIOTHEK 62 1.3.10 WOFUER SICH JAVA NICHT EIGNET
63 1.3.11 JAVA IM VERGLEICH ZU ANDEREN SPRACHEN 64 1.3.12 JAVA IST OPEN
SOURCE 64 1.4 DIE ROLLE VON JAVA IM WEB 65 1.4.1 VOLLWERTIGE
APPLIKATIONEN STATT APPLETS 65 1.5 DIE JAVA PLATFORM STANDARD EDITION
(JAVA SE) 66 1.5.1 JDKUNDJRE , 66 1.5.2 JAVA-VERSIONEN 66 1.5.3 JAVA FUER
DIE KLEINEN 68 1.5.4 JAVA FUER DIE GROSSEN 68 1.5.5 INSTALLATIONSANLEITUNG
FUER JAVA SE 68 1.6 DAS ERSTE PROGRAMM COMPILIEREN UND TESTEN 70 1.6.1
EIN QUADRATZAHLEN-PROGRAMM 70 1.6.2 DER COMPILERLAUF 71 1.6.3 DIE
LAUFZEITUMGEBUNG 72 1.6.4 HAEUFIGE COMPILER-UND INTERPRETERPROBLEME 72
1.7 ENTWICKLUNGSUMGEBUNGEN IM ALLGEMEINEN 73 1.7.1 DIE
ENTWICKLUNGSUMGEBUNG ECLIPSE 73 1.7.2 NETBEANS VON SUN 74 1.7.3 EIN WORT
ZU MICROSOFT, JAVA UND ZU J++ 74 1.8 ECLIPSE IM SPEZIELLEN 75 1.8.1
ECLIPSE STARTEN 75 1.8.2 DAS ERSTE PROJEKT ANLEGEN 76 1.8.3 EINE KLASSE
HINZUFUEGEN 78 5 1.8.4 UEBERSETZEN UND AUSFUEHREN 79 1.8.5 JDK STATT JRE 80
1.8.6 START EINES PROGRAMMS OHNE SPEICHERAUFFORDERUNG 80 1.8.7 PROJEKT
EINFUEGEN ODER WORKSPACE FUER DIE AUFGABEN WECHSELN . 81 1.8.8 PLUGINS
FUER ECLIPSE 82 1.8.9 ECLIPSE WEB TOOLS PLATFORM (WTP) 82 1.9 ZUM
WEITERLESEN 83 2.1 ELEMENTE DER PROGRAMMIERSPRACHE JAVA 85 2.1.1
TEXTKODIERUNG DURCH UNICODE-ZEICHEN 85 2.1.2 LITERALE 88 2.1.3
BEZEICHNER 88 2.1.4 RESERVIERTE SCHLUESSELWOERTER 89 2.1.5 TOKEN 90 2.1.6
KOMMENTARE 91 2.2 ANWEISUNGEN FORMEN PROGRAMME 92 2.2.1 ANWEISUNGEN 92
2.2.2 EINE KLASSE BILDET DEN RAHMEN 93 2.2.3 DIE REISE BEGINNT AM MAINO
94 2.2.4 PROGRAMME UEBERSETZEN UND STARTEN 95 2.2.5 FUNKTIONSAUFRUFE ALS
AUSDRUECKE UND ANWEISUNGEN 95 2.2.6 PRINTO, PRINTLNO UND PRINTFO FUER
BILDSCHIRMAUSGABEN 95 2.2.7 MODIFIZIERER 98 2.2.8 ANWEISUNGEN UND BLOECKE
99 2.3 DATENTYPEN 100 2.3.1 PRIMITIVE DATENTYPEN IM UEBERBLICK 100 2.3.2
WAHRHEITSWERTE 102 2.3.3 VARIABLENDEKLARATIONEN 102 2.3.4 GANZZAHLIGE
DATENTYPEN 106 2.3.5 DIE FLIESSKOMMAZAHLEN FLOAT UND DOUBLE 108 2.3.6
ALPHANUMERISCHE ZEICHEN 109 2.4 AUSDRUECKE, OPERANDEN UND OPERATOREN 110
2.4.1 ZUWEISUNGSOPERATOR 111 2.4.2 ARITHMETISCHE OPERATOREN 112 2.4.3
UNAERES MINUS UND PLUS 115 2.4.4 ZUWEISUNG MIT OPERATION 115 2.4.5
PRAEFIX-ODER POSTFIX-INKREMENT UND-DEKREMENT 116 2.4.6 DIE RELATIONALEN
OPERATOREN UND DIE GLEICHHEITSOPERATOREN 118 2.4.7 LOGISCHE OPERATOREN
UND, ODER, XOR, NICHT 119 2.4.8 RANG DER OPERATOREN IN DER
AUSWERTUNGSREIHENFOLGE 120 2.4.9 DIE TYPANPASSUNG (DAS CASTING) 122
INHALT 2.4.10 UEBERJADENES PLUS FUER STRINGS 127 2.4.11 WAS
C(++)-PROGRAMMIERER VERMISSEN KOENNTEN 128 2.5 BEDINGTE ANWEISUNGEN ODER
FALLUNTERSCHEIDUNGEN 128 2.5.1 DIE IF-ANWEISUNG 129 2.5.2 DIE
ALTERNATIVE MIT EINER IF/ELSE-ANWEISUNG WAEHLEN 130 2.5.3 DIE
SWITCH-ANWEISUNG BIETET DIE ALTERNATIVE 133 2.6 SCHLEIFEN 136 2.6.1 DIE
WHILE-SCHLEIFE 136 2.6.2 SCHLEIFENBEDINGUNGEN UND VERGLEICHE MIT == 137
2.6.3 DIE DO-WHILE-SCHLEIFE 138 2.6.4 DIE FOR-SCHLEIFE 140 2.6.5
AUSBRUCH PLANEN MIT BREAK UND WIEDEREINSTIEG MIT CONTINUE . 143 2.6.6
BREAK UND CONTINUE MIT SPRUNGMARKEN 146 2.7 METHODEN EINER KLASSE 147
2.7.1 BESTANDTEIL EINER FUNKTION 148 2.7.2 BESCHREIBUNGEN IN DER
JAVA-API 148 2.7.3 AUFRUF EINER METHODE 150 2.7.4 METHODEN OHNE
PARAMETER 150 2.7.5 STATISCHE FUNKTIONEN (KLASSENMETHODEN) 151 2.7.6
PARAMETER, ARGUMENT UND WERTUEBERGABE 152 2.7.7 METHODEN VORZEITIG MIT
RETURN BEENDEN 153 2.7.8 NICHT ERREICHBARER QUELLCODE BEI FUNKTIONEN 154
2.7.9 RUECKGABEWERTE 154 2.7.10 METHODEN UEBERLADEN 158 2.7.11
VORGEGEBENER WERT FUER NICHT AUFGEFUEHRTE ARGUMENTE 160 2.7.12 FINALE
LOKALE VARIABLEN 160 2.7.13 REKURSIVE FUNKTIONEN 162 2.7.14 DIE TUERME
VON HANOI 164 2.8 WEITERE OPERATOREN 166 2.8.1 BITSUND BYTES 166 2.8.2
OPERATIONEN AUF BIT-EBENE 167 2.8.3 DIE VERSCHIEBEOPERATOREN 169 2.8.4
EIN BIT SETZEN, LOESCHEN, UMDREHEN UND TESTEN 171 2.8.5 BIT-FUNKTIONEN
DER INTEGER-UND LONG-KLASSE 171 2.8.6 DER BEDINGUNGSOPERATOR 172 2.9
EINFACHE BENUTZEREINGABEN 174 2.10 ZUM WEITERLESEN 175 3.1
OBJEKTORIENTIERTE PROGRAMMIERUNG 177 3.1.1 WARUM UEBERHAUPT OOP? 177
3.1.2 WIEDERVERWERTBARKEIT 178 7 INHALT 3.2 EIGENSCHAFTEN EINER KLASSE
179 3.2.1 DIE KLASSE POINT 179 3.3 DIE UML (UNIFIED MODELING LANGUAGE)
180 3.3.1 HINTERGRUND UND GESCHICHTE ZUR UML 180 3.3.2 WICHTIGE
DIAGRAMMTYPEN DER UML 181 3.4 NEUE OBJEKTE ERZEUGEN 181 3.4.1 ANLEGEN
EINES EXEMPLARS EINER KLASSE MIT DEM NEW-OPERATOR. 182 3.4.2
DEKLARIEREN VON REFERENZVARIABLEN 183 3.4.3 ZUGRIFF AUF VARIABLEN UND
METHODEN MIT DEM ». 183 3.4.4 KONSTRUKTOREN NUTZEN 186 3.4.5 DIE
API-DOKUMENTATION 186 3.5 IMPORT UND PAKETE 187 3.6 MIT REFERENZEN
ARBEITEN 188 3.6.1 DIE NULL-REFERENZ 188 3.6.2 ZUWEISUNGEN BEI
REFERENZEN 190 3.6.3 FUNKTIONEN MIT NICHT-PRIMITIVEN PARAMETERN 191 3.7
IDENTITAET UND GLEICHHEIT 193 3.7.1 IDENTITAET VON OBJEKTEN 193 3.7.2
GLEICHHEIT UND DIE METHODE EQUALSO 193 3.8 WRAPPER-KLASSEN UND
AUTOBOXING 195 3.8.1 DIE BASISKLASSE NUMBER FUER NUMERISCHE
WRAPPER-OBJEKTE 197 3.8.2 DIE KLASSE INTEGER 198 3.8.3 UNTERSCHIEDLICHE
AUSGABEFORMATE 199 3.8.4 AUTOBOXING: BOXING UND UNBOXING 200 3.8.5 DIE
BOOLEAN-KLASSE 202 3.8.6 DIE KLASSEN DOUBLE UND FLOAT FUER
FIIESSKOMMAZAHLEN 203 3.9 ARRAYS 204 3.9.1 DEKLARATION VON ARRAYS 205
3.9.2 ARRAYS MIT INHALT 205 3.9.3 DIE LAENGE EINES ARRAYS UEBER DAS
ATTRIBUT LENGTH 206 3.9.4 ZUGRIFF AUF DIE ELEMENTE UEBER DEN INDEX 206
3.9.5 ARRAY-OBJEKTE ERZEUGEN 207 3.9.6 FEHLER BEI ARRAYS 209 3.9.7
VORINITIALISIERTE ARRAYS 210 3.9.8 DIE ERWEITERTE FOR-SCHLEIFE 211 3.9.9
ARRAYS MIT NICHT-PRIMITIVEN ELEMENTEN 212 3.9.10 MEHRDIMENSIONALE ARRAYS
213 3.9.11 DIE WAHRHEIT UEBER DIE ARRAY-INITIALISIERUNG 215 3.9.12
MEHRERE RUECKGABEWERTE 216 3.9.13 METHODE MIT VARIABLER ARGUMENTANZAHL
(VARARG) 217 3.9.14 KLONEN KANN SICH LOHNEN-ARRAYS VERMEHREN 218 3.9.15
FELDINHALTE KOPIEREN 219 3.9.16 DIE KLASSE ARRAYS ZUM VERGLEICHEN,
FUELLEN UND SUCHEN 220 8 INHALT 3.10 DER EINSTIEGSPUNKT FUER DAS
LAUFZEITSYSTEM MAINO 227 3.10.1 KOMMANDOZEILEN-ARGUMENTE VERARBEITEN 227
3.10.2 DER RUECKGABEWERT VON MAINO UND SYSTEM.EXITO 228 3.11 EIGENE
PAKETE SCHNUEREN 228 3.11.1 DIE PACKAGE-ANWEISUNG 229 3.11.2 IMPORTIEREN
VON KLASSEN MIT IMPORT 229 3.11.3 HIERARCHISCHE STRUKTUREN UND DAS
DEFAULT-PACKAGE 229 3.11.4 PAKETNAMEN 230 3.11.5 KLASSEN MIT GLEICHEN
NAMEN IN UNTERSCHIEDLICHEN PAKETEN 231 3.11.6 STATISCHES IMPORT 231
3.11.7 EINE VERZEICHNISSTRUKTUR FUER EIGENE PROJEKTE 232 3.12 ZUM
WEITERLESEN 232 4.1 EINZELNE ZEICHEN MIT DER CHARACTER-KLASSE BEHANDELN
233 4.2 STRINGS UND DEREN ANWENDUNG 234 4.2.1 STRING-LITERALE ALS
STRING-OBJEKTE FUER KONSTANTE ZEICHENKETTEN . 236 4.2.2 STRING-LAENGE
UND TEST AUF LEERSTRING 238 4.2.3 NACH ENTHALTENEN ZEICHEN UND
ZEICHENFOLGEN SUCHEN 238 4.2.4 GUT, DASS WIR VERGLICHEN HABEN 240 4.2.5
STRING-TEILE EXTRAHIEREN 242 4.2.6 STRINGS ANHAENGEN,
GROSS-/KLEINSCHREIBUNG UND LEERRAUM 244 4.2.7 SUCHEN UND ERSETZEN 246
4.2.8 STRING-OBJEKTE MIT KONSTRUKTOREN NEU ANLEGEN 248 4.3 KONVERTIEREN
ZWISCHEN PRIMITIVEN UND STRINGS 250 4.3.1 UNTERSCHIEDLICHE TYPEN IN
ZEICHENKETTEN KONVERTIEREN 250 4.3.2 STRING IN PRIMITIVES ELEMENT
KONVERTIEREN 251 4.4 VERAENDERBARE ZEICHENKETTEN MIT
STRINGBUFFER/STRINGBUILDER 252 4.4.1 ANLEGEN VON
STRINGBUFFER/STRINGBUILDER-OBJEKTEN 252 4.4.2 DIE LAENGE EINES
STRINGBUFFER/-BUILDER-OBJEKTS 253 4.4.3 DATEN ANHAENGEN 254 4.4.4
ZEICHENFOLGEN) SETZEN, ERFRAGEN, LOESCHEN UND UMDREHEN 255 4.4.5
VERGLEICHEN VON STRING/STRINGBUFFER/STRINGBUILDER 256 4.4.6 HASHCODEO
BEI STRINGBUFFER/STRINGBUILDER 257 4.5 SPRACHABHAENGIGES VERGLEICHEN UND
NORMALISIERUNG 257 4.5.1 DIE KLASSE COLLATOR 258 4.5.2 EFFIZIENTE
INTERNE SPEICHERUNG FUER DIE SORTIERUNG 260 4.5.3 NORMALISIERUNG 262 4.6
REGULAERE AUSDRUECKE 262 4.6.1 DIE KLASSEN PATTERN UND MATCHER 262 4.6.2
MIT MATCHRESULT ALLE ERGEBNISSE EINSAMMELN 264 9 INHALT 4.7 ZERLEGEN VON
ZEICHENKETTEN 266 4.7.1 SPLITTEN VON ZEICHENKETTEN MIT SPLITO 266 4.7.2
SPLITO IN PATTERN 267 4.7.3 DIE KLASSE SCANNER 268 4.7.4 STRINGTOKENIZER
273 4.7.5 BREAKITERATOR ALS ZEICHEN-, WORT-, ZEILEN-UND SATZTRENNER 275
4.8 ZEICHENKODIERUNGEN UND BASE64 278 4.8.1 UEBER DIE KLASSE STRING
KODIERUNGEN VORNEHMEN 278 4.8.2 KONVERTIEREN MIT
OUTPUTSTREAMWRITER-KLASSEN 279 4.8.3 DAS PAKET JAVA.NIO.CHARSET 279
4.8.4 BASE64-KODIERUNG 280 4.9 FORMATIEREN VON AUSGABEN 281 4.9.1
FORMATIEREN MIT FORMATO AUS STRING 281 4.9.2 DIE FORMAT-KLASSEN IM
UEBERBLICK 284 4.9.3 ZAHLEN, PROZENTE UND WAEHRUNGEN MIT NUMBERFORMAT UND
DECIMALFORMAT FORMATIEREN 285 4.9.4 AUSGABEN MIT MESSAGEFORMAT
FORMATIEREN 287 4.10 ZUM WEITERLESEN 289 5.1 REPRAESENTATION GANZER
ZAHLEN - DAS ZWEIERKOMPLEMENT 291 5.2 FLIESSKOMMAARITHMETIK IN JAVA 291
5.2.1 MANTISSE UND EXPONENT 292 5.2.2 SPEZIALWERTE UNENDLICH, NULL, NAN
293 5.3 WERTEBEREICH EINES TYPS UND UEBERLAUFKONTROLLE 295 5.3.1
BEHANDLUNG DES UEBERLAUFS 296 5.4 DIE EIGENSCHAFTEN DER KLASSE MATH 297
5.4.1 ATTRIBUTE 297 5.4.2 ABSOLUTWERTE UND MAXIMUM/MINIMUM 298 5.4.3
WINKELFUNKTIONEN 299 5.4.4 RUNDEN VON WERTEN 300 5.4.5 WURZEL UND
EXPONENTIALFUNKTIONEN 302 5.4.6 DER LOGARITHMUS 303 5.4.7 REST DER
GANZZAHLIGEN DIVISION 303 5.4.8 ZUFALLSZAHLEN 304 5.5 MATHE BITTE STRIKT
305 5.5.1 STRIKT FLIESSKOMMA MIT STRICTFP 305 5.5.2 DIE KLASSEN MATH UND
STRICTMATH 305 5.6 DIE RANDOM-KLASSE 306 5.6.1 OBJEKTE AUFBAUEN UND DER
SEED 306 5.6.2 ZUFALLSZAHLEN ERZEUGEN 307 5.6.3 PSEUDO-ZUFALLSZAHLEN IN
DER NORMALVERTEILUNG 307 INHALT 5.7 GROSSE ZAHLEN 308 5.7.1 DIE KLASSE
BIGINTEGER 308 5.7.2 FUNKTIONEN VON BIGINTEGER 310 5.7.3 GANZ LANGE
FAKULTAETEN 312 5.7.4 GROSSE FLIESSKOMMAZAHLEN MIT BIGDECIMAL 313 5.7.5 MIT
MATHCONTEXT KOMFORTABEL DIE RECHENGENAUIGKEIT SETZEN . 315 5.8 ZUM
WEITERLESEN 317 6.1 EIGENE KLASSEN MIT EIGENSCHAFTEN DEKLARIEREN 319
6.1.1 ATTRIBUTE DEKLARIEREN 319 6.1.2 METHODEN DEKLARIEREN 320 6.1.3 DIE
THIS-REFERENZ 322 6.2 PRIVATSPHAERE UND SICHTBARKEIT 324 6.2.1 FUER DIE
OEFFENTLICHKEIT: PUBLIC 324 6.2.2 PAKETSICHTBAR 324 6.2.3 KEIN PUBLIC
VIEWING-PASSWOERTER SIND PRIVAT 325 6.2.4 WIESO NICHT FREIE METHODEN UND
VARIABLEN FUER ALLE? 327 6.2.5 PRIVAT IST NICHT GANZ PRIVAT: ES KOMMT
DARAUF AN, WER'S SIEHT 327 6.2.6 ZUGRIFFSMETHODEN FUER ATTRIBUTE
DEKLARIEREN 328 6.2.7 SETTER UND GETTER NACH DER JAVABEANS-SPEZIFIKATION
329 6.3 STATISCHE METHODEN UND STATISCHE ATTRIBUTE 330 6.3.1 WARUM
STATISCHE EIGENSCHAFTEN SINNVOLL SIND 331 6.3.2 STATISCHE EIGENSCHAFTEN
MIT STATIC 331 6.3.3 STATISCHE EIGENSCHAFTEN UEBER REFERENZEN NUTZEN? 332
6.3.4 WARUM DIE GROSS-UND KLEINSCHREIBUNG WICHTIG IST 333 6.3.5 STATISCHE
EIGENSCHAFTEN UND OBJEKTEIGENSCHAFTEN 333 6.3.6 STATISCHE VARIABLEN ZUM
DATENAUSTAUSCH 334 6.3.7 STATISCHE BLOECKE ALS KLASSENINITIALISIERER 335
6.4 KONSTANTEN UND AUFZAEHLUNGEN 336 6.4.1 KONSTANTEN UEBER OEFFENTLICHE
STATISCHE FINALE VARIABLEN 337 6.4.2 EINCOMPILIERTE BELEGUNGEN DER
KLASSENVARIABLEN 337 6.4.3 TYP(UN)SICHERERE AUFZAEHLUNGEN 338 6.4.4
AUFZAEHLUNGEN MIT ENUM 339 6.5 OBJEKTE ANLEGEN UND ZERSTOEREN 342 6.5.1
KONSTRUKTOREN SCHREIBEN 342 6.5.2 DER STANDARD-KONSTRUKTOR 343 6.5.3
PARAMETRISIERTE UND UEBERLADENE KONSTRUKTOREN 344 6.5.4 KONSTRUKTOR NIMMT
EIN OBJEKT VOM EIGENEN TYP AN (COPY-KONSTRUKTOR) 346 6.5.5 EINEN ANDEREN
KONSTRUKTOR DER GLEICHEN KLASSE AUFRUFEN 347 6.5.6 INITIALISIERUNG DER
OBJEKT-UND KLASSENVARIABLEN 350 11 6.5.7 FINALE WERTE IM KONSTRUKTOR UND
IN STATISCHEN BLOECKEN SETZEN . 352 6.5.8 EXEMPLARINITIALISIERER
(INSTANZINITIALISIERER) 353 6.5.9 IHR FEHLT UNS NICHT - DER
GARBAGE-COLLECTOR 355 6.5.10 IMPLIZIT ERZEUGTE STRING-OBJEKTE 356 6.5.11
PRIVATE KONSTRUKTOREN, UTILITY-KLASSEN, SINGLETON, FABRIKEN 357 6.6
ASSOZIATIONEN ZWISCHEN OBJEKTEN 359 6.6.1 UNIDIREKTIONALE 1:1-BEZIEHUNG
360 6.6.2 BIDIREKTIONALE 1:1-BEZIEHUNGEN 360 6.6.3 UNIDIREKTIONALE
1:N-BEZIEHUNG 361 6.7 VERERBUNG 363 6.7.1 VERERBUNG IN JAVA 363 6.7.2
SPIELOBJEKTE MODELLIERT 364 6.7.3 EINFACH- UND MEHRFACHVERERBUNG 365
6.7.4 SICHTBARKEIT PROTECTED 366 6.7.5 KONSTRUKTOREN IN DER VERERBUNG
UND SUPER 367 6.7.6 AUTOMATISCHE UND EXPLIZITE TYPANPASSUNG 371 6.7.7
DAS SUBSTITUTIONSPRINZIP 373 6.7.8 TYPEN MIT DEM BINAEREN OPERATOR
INSTANCEOF TESTEN 375 6.7.9 METHODEN UEBERSCHREIBEN 376 6.7.10 MIT SUPER
AN DIE ELTERN 378 6.7.11 KOVARIANTE RUECKGABETYPEN 380 6.7.12 ARRAY-TYPEN
UND KOVARIANZ 381 6.7.13 ZUSAMMENFASSUNG ZUR SICHTBARKEIT 382 6.8
DYNAMISCHES BINDEN 383 6.8.1 UNPOLYMORPH BEI PRIVATEN, STATISCHEN UND
FINALEN METHODEN . 386 6.8.2 POLYMORPHIE BEI KONSTRUKTORAUFRUFEN 387
6.8.3 FINALE KLASSEN 389 6.8.4 NICHT UEBERSCHREIBBARE (FINALE) METHODEN
390 6.9 ABSTRAKTE KLASSEN UND ABSTRAKTE METHODEN 391 6.9.1 ABSTRAKTE
KLASSEN 391 6.9.2 ABSTRAKTE METHODEN 392 6.10 SCHNITTSTELLEN 395 6.10.1
DEKLARIEREN VON SCHNITTSTELLEN 395 6.10.2 IMPLEMENTIEREN VON
SCHNITTSTELLEN 396 6.10.3 MARKIERUNGSSCHNITTSTELLEN 398 6.10.4 EIN
POLYMORPHIE-BEISPIEL MIT SCHNITTSTELLEN 398 6.10.5 DIE MEHRFACHVERERBUNG
BEI SCHNITTSTELLEN 399 6.10.6 KEINE KOLLISIONSGEFAHR BEI
MEHRFACHVERERBUNG 402 6.10.7 ERWEITERN VON INTERFACES - SUBINTERFACES
403 6.10.8 VERERBTE KONSTANTEN BEI SCHNITTSTELLEN 404 6.10.9
SCHNITTSTELLENMETHODEN, DIE NICHT IMPLEMENTIERT WERDEN MUESSEN 406
6.10.10 ABSTRAKTE KLASSEN UND SCHNITTSTELLEN IM VERGLEICH 406 INHALT
6.11 GESCHACHTELTE (INNERE) KLASSEN, SCHNITTSTELLEN, AUFZAEHLUNGEN 407
6.11.1 STATISCHE INNERE KLASSEN UND SCHNITTSTELLEN 408 6.11.2
MITGLIEDS-ODER ELEMENTKLASSEN 409 6.11.3 LOKALE KLASSEN 413 6.11.4
ANONYME INNERE KLASSEN 413 6.11.5 THIS UND VERERBUNG 416 6.12 GENERISCHE
DATENTYPEN 418 6.12.1 EINFACHE KLASSENSCHABLONEN 419 6.12.2 EINFACHE
METHODENSCHABLONEN 420 6.12.3 UMSETZEN DER GENERICS, TYPLOESCHUNG UND
RAW-TYPES 420 6.12.4 EINSCHRAENKEN DER TYPEN 422 6.12.5 GENERICS UND
VERERBUNG, INVARIANZ 424 6.12.6 WILDCARDS 425 6.13 DIE
SPEZIAL-OBERKLASSE ENUM 426 6.13.1 METHODEN AUF ENUM-OBJEKTEN 426 6.13.2
ENUM MIT EIGENEN KONSTRUKTOREN UND METHODEN 428 6.14
DOKUMENTATIONSKOMMENTARE MIT JAVADOC 430 6.14.1 EINEN
DOKUMENTATIONSKOMMENTAR SETZEN 431 6.14.2 MIT JAVADOC EINE DOKUMENTATION
ERSTELLEN 433 6.14.3 HTML-TAGS IN DOKUMENTATIONSKOMMENTAREN 433 6.14.4
GENERIERTE DATEIEN 433 6.14.5 DOKUMENTATIONSKOMMENTARE IM UEBERBLICK 434
6.14.6 JAVADOC UND DOCLETS 435 6.14.7 VERALTETE (DEPRECATED) KLASSEN,
KONSTRUKTOREN UND METHODEN . 436 7.1 SCHNITTSTELLEN IN DER ANWENDUNG
439 7.1.1 CHARSEQUENCE ALS BEISPIEL EINER SCHNITTSTELLE 439 7.1.2 DIE
SCHNITTSTELLE ITERABLE 441 7.1.3 FUNKTIONSZEIGER 443 7.1.4
IMPLEMENTIERUNG EINER VERKETTETEN LISTE 445 7.2 DESIGN-PATTERN
(ENTWURFSMUSTER) 446 7.2.1 DESIGN-PATTERN 447 7.2.2 DAS
BEOBACHTER-PATTERN (OBSERVER/OBSERVABLE) 448 7.2.3 EREIGNISSE UEBER
LISTENER 451 7.2.4 MULTICAST UND UNICAST 454 7.3 JAVABEAN 455 7.3.1
PROPERTIES (EIGENSCHAFTEN) 455 7.3.2 EINFACHE EIGENSCHAFTEN 456 7.3.3
INDIZIERTE EIGENSCHAFTEN 456 7.3.4 GEBUNDENE EIGENSCHAFTEN 457 7.3.5
VETO-EIGENSCHAFTEN - DAGEGEN! 459 13 INHALT 8.1 PROBLEMBEREICHE
EINZAEUNEN 465 8.1.1 EXCEPTIONS IN JAVA MIT TRY UND CATCH 465 8.1.2 EINE
DATEI MIT RANDOMACCESSFILE AUSLESEN 466 8.1.3 ABLAUF EINER
AUSNAHMESITUATION 468 8.1.4 WIEDERHOLUNG ABGEBROCHENER BEREICHE 468
8.1.5 THROWS IM METHODENKOPF ANGEBEN 469 8.1.6 ABSCHLUSSBEHANDLUNG MIT
FINALLY 472 8.1.7 NICHT ERREICHBARE CATCH-KLAUSELN 475 8.2 DIE
KLASSENHIERARCHIE DER FEHLER 476 8.2.1 DIE EXCEPTION-HIERARCHIE 477
8.2.2 OBERAUSNAHMEN AUFFANGEN 477 8.2.3 ALLES GEHT ALS EXCEPTION DURCH
478 8.2.4 RUNTIMEEXCEPTION MUSS NICHT AUFGEFANGEN WERDEN 479 8.2.5 HARTE
FEHLER: ERROR 480 8.3 AUSLOESEN EIGENER EXCEPTIONS 481 8.3.1 MIT THROW
AUSNAHMEN AUSLOESEN 481 8.3.2 NEUE EXCEPTION-KLASSEN DEKLARIEREN 483
8.3.3 ABFANGEN UND WEITERLEITEN 484 8.3.4 GESCHACHTELTE AUSNAHMEN 485
8.3.5 RUECKGABEWERTE BEI AUSGELOESTEN AUSNAHMEN 486 8.4 DER STACK-TRACE
486 8.4.1 STACK-TRACE ERFRAGEN 487 8.5 ASSERTIONS 488 8.5.1 ASSERTIONS
IN EIGENEN PROGRAMMEN NUTZEN 489 8.5.2 ASSERTIONS AKTIVIEREN 490 9.1 DIE
JAVA-KLASSENPHILOSOPHIE 491 9.1.1 UEBERSICHT UEBER DIE PAKETE DER
STANDARDBIBLIOTHEK 491 9.2 OBJECT IST DIE MUTTER ALLER OBERKLASSEN 498
9.2.1 KLASSENOBJEKTE 498 9.2.2 OBJEKTIDENTIFIKATION MIT TOSTRINGO 498
9.2.3 OBJEKTGLEICHHEIT MIT EQUALSO UND IDENTITAET 500 9.2.4 KLONEN EINES
OBJEKTS MIT CLONEO 504 9.2.5 HASHCODES UEBER HASHCODEO LIEFERN 507 9.2.6
AUFRAEUMEN MIT FINALIZEO 510 9.2.7 SYNCHRONISATION 512 9.3 KLASSENLADER
(CLASS LOADER) 512 9.3.1 WOHER DIE KLEINEN KLASSEN KOMMEN 513 9.3.2
SETZEN DES KLASSENPFADES 514 14 INHALT 9.3.3 DIE WICHTIGSTEN DREI TYPEN
VON KLASSENLADERN 515 9.3.4 DER JAVA.LANG.CLASSLOADER 515 9.3.5 HOT
DEPLOYMENT MIT DEM URL-CLASSLOADER 517 9.3.6
DASJRE/LIB/ENDORSED-VERZEICHNIS 519 9.3.7 GETCONTEXTCLASSLOADERO VOM
THREAD 520 9.4 DIE UTILITY-KLASSE SYSTEM UND PROPERTIES 520 9.4.1
SYSTEMEIGENSCHAFTEN DER JAVA-UMGEBUNG 521 9.4.2 LINE.SEPARATOR 522 9.4.3
BROWSER-VERSION ABFRAGEN 523 9.4.4 PROPERTY VON DER KONSOLE AUS SETZEN
523 9.4.5 UMGEBUNGSVARIABLEN DES BETRIEBSSYSTEMS 524 9.4.6 EINFACHE
ZEITMESSUNG UND PROFILING 525 9.5 AUSFUEHREN EXTERNER PROGRAMME UND
SKRIPTE 526 9.5.1 PROCESSBUILDER UND PROZESSKONTROLLE MIT PROCESS 526
9.5.2 EINEN BROWSER/E-MAIL-CLIENT/EDITOR AUFRUFEN 529 9.5.3 AUSFUEHREN
VON SKRIPTEN 530 9.6 BENUTZEREINSTELLUNGEN 532 9.6.1
BENUTZEREINSTELLUNGEN IN WINDOWS-REGISTRY ODER XML-DOKUMENTEN 532 9.6.2
EINTRAGE EINFUEGEN, AUSLESEN UND LOESCHEN 534 9.6.3 AUSLESEN DER DATEN UND
SCHREIBEN IN ANDEREM FORMAT 536 9.6.4 AUF EREIGNISSE HORCHEN 536 9.6.5
ZUGRIFF AUF DIE GESAMTE WINDOWS-REGISTRY 536 9.7 MUSIK ABSPIELEN 537
9.7.1 DIE ARBEIT MIT AUDIOCIIP 537 9.7.2 JAVA SOUND API 538 9.8
ANNOTATIONEN 539 9.8.1 ANNOTATIONSTYPEN @OVERRIDE, @DEPRECATED,
@SUPPRESSWAMINGS 540 9.8.2 COMMON ANNOTATIONS 541 9.8.3 ANNOTATIONEN FUER
WEB-SERVICES 542 9.8.4 ANNOTATIONEN FUER XML-MAPPING 542 9.9 ZUM
WEITERLESEN 542 10.1 NEBENLAEUFIGKEIT 543 10.1.1 THREADS UND PROZESSE 543
10.1.2 WIE PARALLELE PROGRAMME DIE GESCHWINDIGKEIT STEIGERN KOENNEN 544
10.1.3 WAS JAVA FUER NEBENLAEUFIGKEIT ALLES BIETET 546 10.2 THREADS
ERZEUGEN 546 10.2.1 THREADS UEBER DIE SCHNITTSTELLE RUNNABLE
IMPLEMENTIEREN 546 15 10.2.2 THREAD MIT RUNNABLE STARTEN 547 10.2.3 DER
NAME EINES THREADS 549 10.2.4 DIE KLASSE THREAD ERWEITERN 550 10.2.5 WER
BIN ICH? 552 3 DIE ZUSTAENDE EINES THREADS 553 10.3.1 THREADS SCHLAFEN
553 10.3.2 MIT YIELDO AUF RECHENZEIT VERZICHTEN 555 10.3.3 DAS ENDE
EINES THREADS 555 10.3.4 UNCAUGHTEXCEPTION HANDLER FUER UNBEHANDELTE
AUSNAHMEN 556 10.3.5 EINEN THREAD HOEFLICH MIT INTERRUPT BEENDEN 557
10.3.6 DER STOPO VON AUSSEN UND DIE RETTUNG MIT THREADDEATH 559 10.3.7
EIN RENDEZVOUS MIT JOINO 560 10.3.8 BARRIER UND AUSTAUSCH MIT EXCHANGER
562 10.3.9 ARBEIT NIEDERLEGEN UND WIEDER AUFNEHMEN 563 10.3.10 PRIORITAET
563 10.3.11 DER THREAD IST EIN DAEMON 564 4 DER AUSFUEHRER (EXECUTOR)
KOMMT 566 10.4.1 DIE SCHNITTSTELLE EXECUTOR 566 10.4.2 DIE THREAD-POOLS
568 10.4.3 THREADS MIT RUECKGABE UEBER CALLABLE 569 10.4.4 MEHRERE
CALLABLE ABARBEITEN 572 10.4.5 MIT SCHEDULEDEXECUTORSERVICE
WIEDERHOLENDE AUSGABEN UND ZEITSTEUERUNGEN 572 5 SYNCHRONISATION UEBER
KRITISCHE ABSCHNITTE 573 10.5.1 GEMEINSAM GENUTZTE DATEN 573 10.5.2
PROBLEME BEIM GEMEINSAMEN ZUGRIFF UND KRITISCHE ABSCHNITTE . 573
10.5.3 PUNKTE PARALLEL INITIALISIEREN 574 10.5.4 I++SIEHT ATOMAR AUS,
IST ES ABER NICHT 576 10.5.5 KRITISCHE ABSCHNITTE SCHUETZEN 577 10.5.6
SCHUETZEN MIT REENTRANTLOCK 578 10.5.7 SYNCHRONISIEREN MIT SYNCHRONIZED
582 10.5.8 SYNCHRONIZED-METHODEN DER KLASSE STRINGBUFFER 583 10.5.9 MIT
SYNCHRONIZED SYNCHRONISIERTE BLOECKE 584 10.5.10 DANN MACHEN WIR DOCH
GLEICH ALLES SYNCHRONISIERT! 585 10.5.11 LOCK-FREIGABE IM FALL VON
EXCEPTIONS 586 10.5.12 MIT SYNCHRONIZED NACHTRAEGLICH SYNCHRONISIEREN 587
10.5.13 MONITORE SIND REENTRANT - GUT FUER DIE GESCHWINDIGKEIT 588
10.5.14 SYNCHRONISIERTE METHODENAUFRUFE ZUSAMMENFASSEN 589 10.5.15
DEADLOCKS 590 6 SYNCHRONISATION UEBER WARTEN UND BENACHRICHTIGEN 592
10.6.1 DIE SCHNITTSTELLE CONDITION 593 10.6.2 BEISPIEL:
ERZEUGER-VERBRAUCHER-PROGRAMM 596 INHALT 10.6.3 WARTEN MIT WAITO UND
AUFWECKEN MIT NOTIFYO 600 10.6.4 FALLS DER LOCK FEHLT:
HLEGALMONITORSTATEEXCEPTION 601 10.6.5 SEMAPHOR 603 10.7 ATOMARE
OPERATIONEN UND FRISCHE WERTE MIT VOLATILE 606 10.7.1 DER MODIFIZIERER
VOLATILE BEI OBJEKT-/KLASSENVARIABLEN 606 10.7.2 DAS PAKET
JAVA.UTIL.CONCURRENT.ATOMIC 607 10.8 MIT DEM THREAD VERBUNDENE VARIABLEN
608 10.8.1 THREADLOCAL 609 10.8.2 INHERITABLETHREADLOCAL 610 10.9
GRUPPEN VON THREADS IN EINER THREAD-GRUPPE 612 10.9.1 AKTIVE THREADS IN
DER UMGEBUNG 612 10.9.2 ETWAS UEBER DIE AKTUELLE THREAD-GRUPPE
HERAUSFINDEN 613 10.9.3 THREADS IN EINER THREAD-GRUPPE ANLEGEN 615
10.9.4 METHODEN VON THREAD UND THREADGROUP IM VERGLEICH 618 10.10
ZEITGESTEUERTE ABLAEUFE 619 10.10.1 DIE KLASSEN TIMER UND TIMERTASK 619
10.10.2 JOB-SCHEDULER QUARTZ 621 10.11 EINEN ABBRUCH DER VIRTUELLEN
MASCHINE ERKENNEN 621 10.12 ZUM WEITERLESEN 622 11.1 WELTZEIT 623 11.2
WICHTIGE DATUM-KLASSEN IM UEBERBLICK 624 11.3 SPRACHEN DER LAENDER 624
11.3.1 SPRACHEN UND REGIONEN UEBER LOCALE-OBJEKTE 625 11.4
INTERNATIONALISIERUNG UND LOKALISIERUNG 628 11.4.1
RESOURCEBUNDLE-OBJEKTE UND RESSOURCE-DATEIEN 629 11.4.2
RESSOURCE-DATEIEN ZUR LOKALISIERUNG 629 11.4.3 DIE KLASSE RESOURCEBUNDLE
630 11.4.4 LADESTRATEGIE FUER RESOURCEBUNDLE-OBJEKTE 631 11.5 ZEITZONEN
632 11.5.1 ZEITZONEN DURCH DIE KLASSE TIMEZONE REPRAESENTIEREN 632 11.6
DIE KLASSE DATE 634 11.6.1 OBJEKTE ERZEUGEN UND METHODEN NUTZEN 634 11.7
CALENDARUND GREGORIANCALENDAR 635 11.7.1 DIE ABSTRAKTE KLASSE CALENDAR
636 11.7.2 DER GREGORIANISCHE KALENDER 636 11.7.3 OSTERTAGE 639 11.7.4
ABFRAGEN UND SETZEN VON DATUMSELEMENTEN 641 11.8 FORMATIEREN UND PARSEN
VON DATUMSANGABEN 647 11.8.1 AUSGABEN MIT PRINTFO 647 11.8.2 MIT
DATEFORMAT UND SIMPLEDATEFORMAT FORMATIEREN 647 17 11.8.3 PARSEN VON
DATUMSWERTEN 652 11.9 ZUM WEITERLESEN 654 12.1 DATENSTRUKTUREN UND DIE
COLLECTION-API 655 12.1.1 DESIGNPRINZIP MIT SCHNITTSTELLEN, ABSTRAKTEN
KLASSEN, KONKRETEN KLASSEN 656 12.1.2 DIE BASIS-SCHNITTSTELLEN
COILECTION UND MAP 657 12.1.3 DAS ERSTE PROGRAMM MIT CONTAINER-KLASSEN
657 12.1.4 DIE SCHNITTSTELLE COILECTION 658 12.1.5 SCHNITTSTELLEN, DIE
COILECTION ERWEITERN, UND MAP 660 12.1.6 KONKRETE CONTAINER-KLASSEN 662
12.1.7 WELCHE KLASSE NEHMEN? 663 12.1.8 GENERISCHE DATENTYPEN IN DER
COLLECTION-API 663 12.1.9 DIE SCHNITTSTELLE ITERABLE UND DAS ERWEITERTE
FOR 664 12.2 MIT EINEM ITERATOR DURCH DIE DATEN WANDERN 665 12.2.1 DIE
SCHNITTSTELLEN ENUMERATION UND ITERATOR 665 12.2.2 ITERATOREN VON
SAMMLUNGEN UND DAS ERWEITERTE FOR 667 12.2.3 FAIL-FAST ITERATOR UND DIE
CONCURRENTMODIFICATIONEXCEPTION 669 12.3 LISTEN 669 12.3.1 ARRAYLIST
ODER LINKEDLIST? SPEICHERUNG IM FELD ODER IN EINER VERKETTETEN LISTE 670
12.3.2 DIE SCHNITTSTELLE LIST 670 12.3.3 ARRAYLIST 677 12.3.4 LINKEDLIST
680 12.3.5 DER FELD-ADAPTER ARRAYS.ASLISTO 681 12.3.6 TOARRAYO VON
COILECTION VERSTEHEN - DIE GEFAHR EINER FALLE ERKENNEN 682 12.3.7
PRIMITIVE ELEMENTE IN DEN COLLECTION-DATENSTRUKTUREN 684 12.4
VERGLEICHEN VON OBJEKTEN 685 12.4.1 DIE SCHNITTSTELLEN COMPARATOR UND
COMPARABLE 685 12.4.2 ALGORITHMEN MIT SUCH-UND SORTIERMOEGLICHKEITEN 687
12.4.3 DEN GROESSTEN UND KLEINSTEN WERT EINER COILECTION FINDEN 688 12.4.4
SORTIEREN 689 12.5 MENGEN (SETS) 692 12.5.1 HASHSET 694 12.5.2 TREESET -
DIE MENGE DURCH BAEUME 695 12.5.3 LINKEDHASHSET 698 12.6 STACK
(KELLERSPEICHER, STAPEL) 698 12.6.1 DIE METHODEN VON STACK 699 12.6.2
EIN STACK IST EIN VECTOR - AHA! 699 INHALT 12.7 QUEUES (SCHLANGEN) UND
DEQUES 700 12.7.1 DIE SCHNITTSTELLE QUEUE 700 12.7.2 BLOCKIERENDE QUEUES
UND PRIORITAETSWARTESCHLANGEN 701 12.7.3 DEQUE-KLASSEN 702 12.8
ASSOZIATIVE SPEICHER 702 12.8.1 DIE KLASSEN HASHMAP UND TREEMAP 702
12.8.2 EINFUEGEN UND ABFRAGEN DER DATENSTRUKTUR 704 12.8.3 DIE BEDEUTUNG
VON EQUALSO, HASHCODEO UND IDENTITYHASHMAP 707 12.8.4 ELEMENTE IM
ASSOZIATIVSPEICHER MUESSEN UNVERAENDERBAR BLEIBEN 709 12.8.5 AUFZAEHLUNGEN
UND SICHTEN AUF DEN ASSOZIATIVSPEICHER 709 12.8.6 DER GLEICHHEITSTEST,
HASH-WERT UND KLON EINER HASH-TABELLE 712 12.8.7 DIE ARBEITSWEISE EINER
HASH-TABELLE 712 12.8.8 MULTI-MAPS 715 12.9 DIE PROPERTIES-KLASSE 715
12.9.1 PROPERTIES SETZEN UND LESEN 715 12.9.2 PROPERTIES VERKETTEN 715
12.9.3 EIGENSCHAFTEN AUSGEBEN 717 12.9.4 HIERARCHISCHE EIGENSCHAFTEN 717
12.9.5 PROPERTIES SPEICHERN 717 12.9.6 KLASSENBEZIEHUNGEN: PROPERTIES
UND HASHTABLE 719 12.10 ALGORITHMEN IN COLLECTIONS 719 12.10.1
LISTENOPERATIONEN: ERSETZEN, KOPIEREN, FUELLEN, UMDREHEN, ROTIEREN,
DURCHMISCHEN 720 12.10.2 MIT DER HALBIERUNGSSUCHE NACH ELEMENTEN FAHNDEN
721 12.10.3 NICHT-AENDERBARE DATENSTRUKTUREN 723 12.10.4 HAEUFIGKEIT EINES
ELEMENTS 723 12.10.5 NCOPIESO 723 12.10.6 SINGLETONS 724 12.11
SYNCHRONISATION DER DATENSTRUKTUREN 725 12.11.1 LOCK-FREE-ALGORITHMEN
AUS JAVA.UTIL.CONCURRENT 725 12.11.2 WRAPPER ZUR SYNCHRONISATION 726
12.11.3 COPYONWRITEARRAYLIST UND COPYONWRITEARRAYSET 727 12.12 DIE
KLASSE BITSETFUER BITMENGEN 727 12.12.1 EIN BITSET ANLEGEN, FUELLEN UND
ERFRAGEN 727 12.12.2 MENGENORIENTIERTE OPERATIONEN 728 12.12.3
FUNKTIONSUEBERSICHT 729 12.12.4 PRIMZAHLEN IN EINEM BITSET VERWALTEN 730
19 INHALT 13.1 DATEI UND VERZEICHNIS 732 13.1.1 DATEIEN UND
VERZEICHNISSE MIT DER KLASSE FILE 732 13.1.2 VERZEICHNIS ODER DATEI?
EXISTIERT ES? 734 13.1.3 VERZEICHNIS-UND DATEIEIGENSCHAFTEN/-ATTRIBUTE
735 13.1.4 WURZELVERZEICHNIS, LAUFWERKSNAMEN, PLATTENSPEICHER 737 13.1.5
UMBENENNEN UND VERZEICHNISSE ANLEGEN 740 13.1.6 VERZEICHNISSE LISTEN UND
DATEIEN FILTERN 740 13.1.7 DATEIEN BERUEHREN, NEUE DATEIEN ANLEGEN,
TEMPORAERE DATEIEN . 743 13.1.8 DATEIEN UND VERZEICHNISSE LOESCHEN 745
13.1.9 VERZEICHNISSE NACH DATEIEN ITERATIV DURCHSUCHEN 746 13.1.10
URL-UND URI-OBJEKTE AUS EINEM FILE-OBJEKT ABLEITEN 747 13.1.11 MIT
LOCKING DATEIEN SPERREN 747 13.1.12 SICHERHEITSPRUEFUNG 748 13.1.13
MIME-TYPEN MIT DEM JAVABEANS ACTIVATION FRAMEWORK (JAF) . 748 13.1.14
ZUGRIFF AUF SMB-SERVER MIT JCIFS 749 13.2 DATEIEN MIT WAHLFREIEM ZUGRIFF
750 13.2.1 EIN RANDOMACCESSFILE ZUM LESEN UND SCHREIBEN OEFFNEN 751
13.2.2 AUS DEM RANDOMACCESSFILE LESEN 751 13.2.3 SCHREIBEN MIT
RANDOMACCESSFILE 754 13.2.4 DIE LAENGE DES RANDOMACCESSFILE 754 13.2.5
HIN UND HER IN DER DATEI 754 13.2.6 WAHLFREIER ZUGRIFF UND PUFFERUNG MIT
UNIFIED I/O 755 13.3 STREAM-KLASSEN UND READER/WRITER AM BEISPIEL VON
DATEIEN 755 13.3.1 MIT DEM FILEWRITER TEXTE IN DATEIEN SCHREIBEN 756
13.3.2 ZEICHEN MIT DER KLASSE FILEREADER LESEN 758 13.3.3 KOPIEREN MIT
FILEOUTPUTSTREAM UND FILELNPUTSTREAM 759 13.3.4 DAS
FILEDESCRIPTOR-OBJEKT 762 13.4 BASISKLASSEN FUER DIE EIN-/AUSGABE 762
13.4.1 DIE ABSTRAKTEN BASISKLASSEN 762 13.4.2 UEBERSICHT UEBER
EIN-/AUSGABEKLASSEN 763 13.4.3 DIE ABSTRAKTE BASISKLASSE OUTPUTSTREAM
764 13.4.4 DIE SCHNITTSTELLEN CLOSEABLE UND FLUSHABLE 766 13.4.5 EIN
DATENSCHLUCKER 766 13.4.6 DIE ABSTRAKTE BASISKLASSE INPUTSTREAM 767
13.4.7 RESSOURCEN WIE GRAFIKEN AUS DEM KLASSENPFAD UND AUS JAR-ARCHIVEN
LADEN 768 13.4.8 STROEME MIT SEQUENCELNPUTSTREAM ZUSAMMENSETZEN 769
13.4.9 DIE ABSTRAKTE BASISKLASSE WRITER 770 13.4.10 DIE SCHNITTSTELLE
APPENDABLE 772 13.4.11 DIE ABSTRAKTE BASISKLASSE READER 773 20 INHALT
13.5 FORMATIERTE TEXTAUSGABEN 774 13.5.1 DIE KLASSEN PRINTWRITER UND
PRINTSTREAM 775 13.5.2 SYSTEM.OUT, SYSTEM.ERR UND SYSTEM.IN 779 13.5.3
GESCHUETZTE PASSWORT-EINGABEN MIT DER KLASSE CONSOLE 781 13.6 SCHREIBEN
UND LESEN AUS STRINGS UND BYTE-FELDERN 781 13.6.1 MIT DEM STRINGWRITER
EIN STRING-OBJEKT FUELLEN 782 13.6.2 CHARARRAYWRITER 783 13.6.3
STRINGREADER UND CHARARRAYREADER 784 13.6.4 MIT BYTEARRAYOUTPUTSTREAM IN
EIN BYTE-FELD SCHREIBEN 785 13.6.5 MIT BYTEARRAYLNPUTSTREAM AUS EINEM
BYTE-FELD LESEN 786 13.7 DATENSTROEME FILTERN UND VERKETTEN 786 13.7.1
STREAMS ALS FILTER VERKETTEN 787 13.7.2 GEPUFFERTE AUSGABEN MIT
BUFFEREDWRITER UND BUFFEREDOUTPUTSTREAM 787 13.7.3 GEPUFFERTE EINGABEN
MIT BUFFEREDREADER UND BUFFEREDLNPUTSTREAM 789 13.7.4 LINENUMBERREADER
ZAEHLT AUTOMATISCH ZEILEN MIT 791 13.7.5 DATEN MIT DER KLASSE
PUSHBACKREADER ZURUECKLEGEN 792 13.7.6 DATAOUTPUTSTREAM/DATALNPUTSTREAM
795 13.7.7 BASISKLASSEN FUER FILTER 795 13.7.8 DIE BASISKLASSE
FILTERWRITER 795 13.7.9 EIN LOWERCASEWRITER 796 13.7.10 EINGABEN MIT DER
KLASSE FILTERREADER FILTERN 798 13.8 VERMITTLER ZWISCHEN BYTE-STREAMS
UND UNICODE-STROEMEN 799 13.8.1 DATENKONVERTIERUNG DURCH DEN
OUTPUTSTREAMWRITER 799 13.8.2 AUTOMATISCHE KONVERTIERUNGEN MIT DEM
INPUTSTREAMREADER 800 13.9 KOMMUNIKATION ZWISCHEN THREADS MIT PIPES 801
13.9.1 PIPEDOUTPUTSTREAM UND PIPEDLNPUTSTREAM 801 13.9.2 PIPEDWRITER UND
PIPEDREADER 803 13.10 DATENKOMPRESSION 805 13.10.1 JAVA-UNTERSTUETZUNG
BEIM KOMPRIMIEREN UND ZUSAMMENPACKEN 806 13.10.2 DATENSTROEME
KOMPRIMIEREN 806 13.10.3 ZIP-ARCHIVE 810 13.10.4 JAR-ARCHIVE 816 13.11
PRUEFSUMMEN 816 13.11.1 DIE SCHNITTSTELLE CHECKSUM 817 13.11.2 DIE KLASSE
CRC32 818 13.11.3 DIE ADLER32-KLASSE 819 13.12 PERSISTENTE OBJEKTE UND
SERIALISIERUNG 820 13.12.1 OBJEKTE MIT DER STANDARD-SERIAIISIERUNG
SPEICHERN UND LESEN 821 13.12.2 ZWEI EINFACHE ANWENDUNGEN DER
SERIALISIERUNG 823 13.12.3 DIE SCHNITTSTELLE SERIALIZABLE 824 21 INHALT
13.12.4 NICHT SERIALISIERBARE ATTRIBUTE AUSSPAREN 826 13.12.5 DAS
ABSPEICHERN SELBST IN DIE HAND NEHMEN 827 13.12.6 TIEFE OBJEKTKOPIEN 831
13.12.7 VERSIONENVERWALTUNG UND DIE SUID 832 13.12.8 WIE DIE ARRAYLIST
SERIALISIERT 834 13.12.9 PROBLEME MIT DER SERIALISIERUNG 835
13.12.10SERIALISIEREN IN XML-DATEIEN 835 13.12.11 JAVABEANS PERSISTENCE
836 13.12.12 XSTREAM 838 13.13 TOKENIZER 838 13.13.1 STREAMTOKENIZER 838
13.13.2 CSV-(COMMA SEPARATED VALUES-)DATEIEN VERARBEITEN 841 13.14 ZUM
WEITERLESEN 842 14.1 AUSZEICHNUNGSSPRACHEN 843 14.1.1 DIE STANDARD
GENERALIZED MARKUP LANGUAGE (SGML) 843 14.1.2 EXTENSIBLE MARKUP LANGUAGE
(XML) 844 14.2 EIGENSCHAFTEN VON XML-DOKUMENTEN 844 14.2.1 ELEMENTE UND
ATTRIBUTE 844 14.2.2 BESCHREIBUNGSSPRACHE FUER DEN AUFBAU VON
XML-DOKUMENTEN . 846 14.2.3 SCHEMA - EINE ALTERNATIVE ZU DTD 849
14.2.4 NAMENSRAUM (NAMESPACE) 852 14.2.5 XML-APPLIKATIONEN 853 14.3 DIE
JAVA-APIS FUER XML 853 14.3.1 DAS DOCUMENT OBJECT MODEL (DOM) 854 14.3.2
SIMPLE API FOR XML PARSING (SAX) 854 14.3.3 PULL-API STAX 854 14.3.4
JAVA DOCUMENT OBJECT MODEL (JDOM) 855 14.3.5 JAXP ALS JAVA-SCHNITTSTELLE
ZU XML 855 14.3.6 DOM-BAEUME EINLESEN MIT JAXP 856 14.4 SERIELLE
VERARBEITUNG MIT STAX 856 14.4.1 UNTERSCHIEDE DER VERARBEITUNGSMODELLE
857 14.4.2 XML-DATEIEN MIT DEM CURSOR-VERFAHREN LESEN 858 14.4.3
XML-DATEIEN MIT DEM ITERATOR-VERFAHREN VERARBEITEN 860 14.4.4 MIT
FILTERN ARBEITEN 861 14.4.5 XML-DOKUMENTE SCHREIBEN 862 14.5 SERIELLE
VERARBEITUNG VON XML MIT SAX 865 14.5.1 SCHNITTSTELLEN VON SAX 865
14.5.2 SAX-PARSER ERZEUGEN 866 14.5.3 DIE WICHTIGSTEN METHODEN DER
SCHNITTSTELLE CONTENTHANDLER 866 14.5.4 ERRORHANDLER UND ENTITYRESOLVER
868 22 INHALT 14.6 XML-DATEIEN MIT JDOM VERARBEITEN 869 14.6.1 JDOM
BEZIEHEN 869 14.6.2 PAKETUEBERSICHT 870 14.6.3 DIE DOCUMENT-KLASSE 871
14.6.4 EINGABEN AUS DER DATEI LESEN 872 14.6.5 DAS DOKUMENT IM
XML-FORMAT AUSGEBEN 873 14.6.6 DER DOKUMENTTYP 873 14.6.7 ELEMENTE 874
14.6.8 ZUGRIFF AUF ELEMENTINHALTE 876 14.6.9 LISTE MIT UNTERELEMENTEN
ERZEUGEN 879 14.6.10 NEUE ELEMENTE EINFUEGEN UND AENDERN 879 14.6.11
ATTRIBUTINHALTE LESEN UND AENDERN 882 14.6.12 XPATH 884 14.7
TRANSFORMATIONEN MIT XSLT 887 14.7.1 TEMPLATES UND XPATH ALS
KERNELEMENTE VON XSLT 887 14.7.2 UMWANDLUNG VON XML-DATEIEN MIT JDOM UND
JAXP 889 14.8 JAVA ARCHITECTURE FOR XML BINDING (JAXB) 890 14.8.1 BEANS
FUER JAXB AUFBAUEN 890 14.8.2 JAXBCONTEXT UND DIE MARSHALLER/UNMARSHALLER
892 14.9 HTML-DOKUMENTE EINLESEN 893 14.10 ZUM WEITERLESEN 894 15.1 DAS
ABSTRACT WINDOW TOOLKIT UND SWING 895 15.1.1 ABSTRACT WINDOW TOOLKIT
(AWT) 895 15.1.2 JAVA FOUNDATION CLASSES 896 15.1.3 WAS SWING VON AWT
UNTERSCHEIDET 899 15.1.4 DIE KLASSE TOOLKIT 899 15.2 FENSTER UNTER
GRAFISCHEN OBERFLAECHEN 900 15.2.1 SWING-FENSTER DARSTELLEN 900 15.2.2
AWT-FENSTER DARSTELLEN 902 15.2.3 SICHTBARKEIT DES FENSTERS 903 15.2.4
GROESSE UND POSITION DES FENSTERS VERAENDERN 903 15.2.5 UNTERKLASSEN DER
FENSTER-KLASSEN BILDEN 904 15.2.6 FENSTER-UND DIALOG-DEKORATION 905
15.2.7 DYNAMISCHES LAYOUT WAEHREND EINER GROESSENAENDERUNG 905 15.3
BESCHRIFTUNGEN (JLABEL) 906 15.3.1 MEHRZELLIGER TEXT, HTML IN DER
DARSTELLUNG 909 15.4 ICON UND IMAGELCON FUER BILDER AUF SWING-KOMPONENTEN
909 15.4.1 DIE SCHNITTSTELLE ICON 911 15.5 ES TUT SICH WAS - EREIGNISSE
BEIM AWT 913 15.5.1 DIE KLASSE AWTEVENT 913 23 15.5.2 EVENTS AUF
VERSCHIEDENEN EBENEN 914 15.5.3 SWINGS EREIGNISQUELLEN UND HORCHER
(LISTENER) 916 15.5.4 LISTENER IMPLEMENTIEREN 916 15.5.5 LISTENER BEI
DEM EREIGNISAUSLOESER ANMELDEN/ABMELDEN 919 15.5.6 AUFRUFEN DER LISTENER
IM AWT-EVENT-THREAD 919 15.5.7 ADAPTERKLASSEN NUTZEN 920 15.5.8 INNERE
MITGLIEDSKLASSEN UND INNERE ANONYME KLASSEN 922 15.6 SCHALTFLAECHEN 923
15.6.1 NORMALE SCHALTFLAECHEN (JBUTTON) 923 15.6.2 DER AUFMERKSAME
ACTIONLISTENER 925 15.6.3 BASISKLASSE ABSTRACTBUTTON 927 15.6.4
WECHSELKNOPF (JTOGGLEBUTTON) 929 15.7 SWING ACTION 929 15.7.1
JAVAX.SWING.ACTION 930 15.7.2 EIGENSCHAFTEN DER ACTION-OBJEKTE 930 15.8
JCOMPONENT UND COMPONENT ALS BASIS ALLER KOMPONENTEN 931 15.8.1 TOOLTIPS
931 15.8.2 RAHMEN (BORDER) 932 15.8.3 FOKUS UND NAVIGATION 935 15.8.4
EREIGNISSE JEDER KOMPONENTE 936 15.8.5 DIE GROESSE UND POSITION EINER
KOMPONENTE 938 15.8.6 KOMPONENTEN-EREIGNISSE 939 15.8.7 HINZUFUEGEN VON
KOMPONENTEN 940 15.8.8 UL-DELEGATE - DER WAHRE ZEICHNER 940 15.8.9
UNDURCHSICHTIGE (OPAK) KOMPONENTE 943 15.8.10 PROPERTIES UND LISTENER
FUER AENDERUNGEN 943 15.9 CONTAINER 944 15.9.1 STANDARDCONTAINER (JPANEL)
944 15.9.2 BEREICH MIT AUTOMATISCHEN ROLLBALKEN (JSCROLLPANE) 945 15.9.3
REITER (JTABBEDPANE) 946 15.9.4 TEILUNG-KOMPONENTE (JSPLITPANE) 947
15.10 ALLES AUSLEGUNGSSACHE: DIE LAYOUTMANAGER 947 15.10.1 UEBERSICHT
UEBER LAYOUTMANAGER 947 15.10.2 ZUWEISEN EINES LAYOUTMANAGERS 948 15.10.3
IM FLUSS MIT FLOWLAYOUT 949 15.10.4 MIT BORDERLAYOUT IN ALLEN
HIMMELSRICHTUNGEN 951 15.10.5 RASTERANORDNUNG MIT GRIDLAYOUT 954 15.10.6
DER GRIDBAGLAYOUT-MANAGER 955 15.10.7 NULL-LAYOUT 960 15.10.8 BOXLAYOUT
961 15.10.9 WEITERE LAYOUTMANAGER 962 INHALT 15.11 ROLLBALKEN UND
SCHIEBEREGLER 962 15.11.1 SCHIEBEREGLER (JSLIDER) 962 15.11.2 ROLLBALKEN
(JSCROLLBAR) 964 15.12 KONTROLLFELDER, OPTIONSFELDER,
KONTROLLFELDGRUPPEN 968 15.12.1 KONTROLLFELDER (JCHECKBOX) 968 15.12.2
ITEMSELECTABLE, ITEMUESTENER UND DAS ITEMEVENT 971 15.12.3 SICH
GEGENSEITIG AUSSCHLIESSENDE OPTIONEN (JRADIOBUTTON) 972 15.13
FORTSCHRITTE BEI OPERATIONEN UEBERWACHEN 974 15.13.1 FORTSCHRITTSBALKEN
(JPROGRESSBAR) 974 15.13.2 DIALOG MIT FORTSCHRITTSANZEIGE
(PROGRESSMONITOR) 976 15.14 MENUES UND SYMBOLLEISTEN 976 15.14.1 DIE
MENUELEISTEN UND DIE EINTRAEGE 977 15.14.2 MENUEEINTRAGE DEFINIEREN 978
15.14.3 EINTRAEGE DURCH ACTION-OBJEKTE BESCHREIBEN 980 15.14.4 MIT DER
TASTATUR: MNEMONICS UND SHORTCUT 981 15.14.5
DERTASTATUR-SHORTCUT(ACCELERATOR) 981 15.14.6 TASTENKUERZEL (MNEMONICS)
983 15.14.7 SYMBOLLEISTEN ALIAS TOOLBARS 983 15.14.8 POPUP-MENUES 986
15.14.9 SYSTEM-TRAY NUTZEN 989 15.15 DAS MODEL-VIEW-CONTROLLER-KONZEPT
990 15.16 AUSWAHLMENUES, LISTEN UND SPINNER 992 15.16.1 AUSWAHLMENUE
(JCOMBOBOX) 992 15.16.2 ZUORDNUNG EINER TASTE MIT EINEM EINTRAG 996
15.16.3 DATUMSAUSWAHL 997 15.16.4 LISTEN (JLIST) 997 15.16.5 DREHFELD
(JSPINNER) 1002 15.17 TEXTEINGABEFELDER 1004 15.17.1 TEXT IN EINER
EINGABEZEILE 1004 15.17.2 DIE OBERKLASSE DER TEXT-KOMPONENTEN
(JTEXTCOMPONENT) 1005 15.17.3 GESCHUETZTE EINGABEN (JPASSWORDFIELD) 1006
15.17.4 VALIDIERENDE EINGABEFELDER (JFORMATTEDTEXTFIELD) 1006 15.17.5
EINFACHE MEHRZELLIGE TEXTFELDER (JTEXTAREA) 1008 15.17.6 EDITOR-KLASSE
(JEDITORPANE) 1010 15.18 TABELLEN (JTABLE) 1013 15.18.1 EIN EIGENES
TABELLEN-MODEL 1014 15.18.2 BASISKLASSE FUER EIGENE MODELLE
(ABSTRACTTABLEMODEL) 1015 15.18.3 VORGEFERTIGTES STANDARD-MODELL
(DEFAULTTABLEMODEL) 1018 15.18.4 EIN EIGENER RENDERER FUER TABELLEN 1019
15.18.5 ZEIL-EDITOREN 1023 15.18.6 GROESSE UND UMRANDUNG DER ZELLEN 1024
15.18.7 SPALTENINFORMATIONEN 1024 25 INHALT 15.18.8 TABELLENKOPF VON
SWING-TABELLEN 1025 15.18.9 SELEKTIONEN EINER TABELLE 1025 15.18.10
AUTOMATISCHES SORTIEREN UND FILTERN MIT ROWSORTER 1026 15.18.11 EIN
PROFESSIONELLES TABELLENLAYOUT MIT JGRID 1027 15.19 BAEUME (JTREE) 1028
15.19.1 JTREE UND SEIN TREEMODEL UND TREENODE 1028 15.19.2 SELEKTIONEN
BEMERKEN 1029 15.19.3 DAS TREEMODEL VON JTREE 1030 15.20 JROOTPANE,
JLAYEREDPANE UND JDESKTOPPANE 1032 15.20.1 WURZELKOMPONENTE DER
TOP-LEVEL-KOMPONENTEN (JROOTPANE) . 1032 15.20.2 JLAYEREDPANE 1033
15.20.3 JDESKTOPPANE UND DIE KINDER JLNTERNALFRAME 1033 15.21 DIALOGE
UND WINDOW-OBJEKTE 1035 15.21.1 JWINDOWUNDJDIALOG 1035 15.21.2 MODAL
ODER NICHT-MODAL 1036 15.21.3 STANDARDDIALOGE MIT JOPTIONPANE 1036
15.21.4 DER FARBAUSWAHLDIALOG JCOLORCHOOSER 1038 15.21.5 DER
DATEIAUSWAHLDIALOG 1040 15.22 FLEXIBLES JAVA-LOOK & FEEL 1044 15.22.1 L
& F GLOBAL SETZEN 1044 15.22.2 ULMANAGER 1044 15.22.3 VERBESSERN DES
AUSSEHENS UNTER WINDOWS MIT JGOODIES LOOKS . 1046 15.23 DIE
ZWISCHENABLAGE (CLIPBOARD) 1046 15.23.1 CLIPBOARD-OBJEKTE 1046 15.23.2
AUF DEN INHALT ZUGREIFEN MIT TRANSFERABLE 1047 15.23.3 DATAFLAVOR IST
DAS FORMAT DER DATEN IN DER ZWISCHENABLAGE 1048 15.23.4 EINFUEGUNGEN IN
DER ZWISCHENABLAGE ERKENNEN 1050 15.23.5 DRAG & DROP 1050 15.24 UNDO
DURCHFUEHREN 1051 15.25 AWT, SWING UND DIE THREADS 1053 15.25.1
EREIGNISSCHLANGE (EVENTQUEUE) UND AWT-EVENT-THREAD 1053 15.25.2 SWING
IST NICHT THREAD-SICHER 1054 15.25.3 SWING-ELEMENTE MIT INVOKELATERO UND
INVOKEANDWAITO BEDIENEN 1055 15.25.4 SWINGWORKER 1056 15.25.5 EIGENE
EREIGNISSE IN DIE QUEUE SETZEN 1058 15.25.6 AUF ALLE EREIGNISSE HOEREN
1059 15.26 BARRIEREFREIHEIT MIT DER JAVA ACCESSIBILITY API 1059 15.27
BENUTZERINTERAKTIONEN AUTOMATISIEREN 1060 15.27.1 AUTOMATISCH IN DIE
TASTEN HAUEN 1061 15.27.2 MAUSOPERATIONEN 1062 15.27.3 METHODEN ZUR
ZEITSTEUERUNG 1062 26 INHALT 15.27.4 SCREENSHOTS 1063 15.27.5 MOUSELNFO
UND POINTERLNFO 1063 15.28 ZEITLICHES AUSFUEHREN MIT DEM
JAVAX.SWING.TIMER 1064 15.29 ALTERNATIVEN ZU AWT UND SWING 1064 15.29.1
XML-BESCHREIBUNGEN DER OBERFLAECHE: SWIXML, XUL/LUXOR 1065 15.29.2 SWT
(STANDARD WIDGET TOOLKIT) 1065 15.30 ZUM WEITERLESEN 1067 16.1
GRUNDLEGENDES ZUM ZEICHNEN 1069 16.1.1 DIE PAINTO-METHODE FUER DAS
AWT-FRAME 1069 16.1.2 ZEICHEN VON INHALTEN MIT JFRAME 1071 16.1.3
AUFFORDERN ZUM NEUZEICHNEN MIT REPAINTO 1072 16.1.4 GRUNDBEGRIFFE:
KOORDINATEN, PUNKTE, PIXEL 1073 16.1.5 DIE EREIGNISORIENTIERTE
PROGRAMMIERUNG AENDERT FENSTERINHALTE . 1073 16.1.6 JAVA2D-API 1074
16.2 EINFACHE ZEICHENFUNKTIONEN 1075 16.2.1 LINIEN 1075 16.2.2 RECHTECKE
1076 16.2.3 OVALE UND KREISBOEGEN 1077 16.2.4 POLYGONE UND POLYLINES 1077
16.3 ZEICHENKETTEN SCHREIBEN UND FONTS 1080 16.3.1 ZEICHENFOLGEN
SCHREIBEN 1080 16.3.2 DIE FONT-KLASSE 1081 16.3.3 EINEN NEUEN FONT AUS
EINEM GEGEBENEN FONT ABLEITEN 1082 16.3.4 ZEICHENSAETZE DES SYSTEMS
ERMITTELN 1083 16.3.5 NEUE TRUETYPE-FONTS IN JAVA NUTZEN 1084 16.3.6
FONT-METADATEN DURCH FONTMETRICS 1085 16.4 GEOMETRISCHE OBJEKTE 1088
16.4.1 DIE SCHNITTSTELLE SHAPE 1089 16.4.2 KREISFOERMIGES 1090 16.4.3
KURVIGES 1091 16.4.4 AREA UND DIE KONSTRUKTIVE FLAECHENGEOMETRIE 1091
16.4.5 PFADE 1091 16.4.6 PUNKT IN FORM, SCHNITT VON LINIEN, ABSTAND
PUNKT/LINIE UND WEITERES 1094 16.5 DAS INNERE UND AEUSSERE EINER FORM 1095
16.5.1 FARBEN UND DIE PAINT-SCHNITTSTELLE 1095 16.5.2 FARBEN MIT DER
KLASSE COLOR 1096 16.5.3 DIE FARBEN DES SYSTEMS UEBER SYSTEMCOLOR 1101
16.5.4 COMPOSITE UND XOR 1104 16.5.5 DICKE UND ART DER LINIEN VON FORMEN
BESTIMMEN UEBER STROKE . 1105 27 INHALT 16.6 BILDER 1109 16.6.1 EINE
UEBERSICHT UEBER DIE BILDER-BIBLIOTHEKEN 1110 16.6.2 BILDER MIT IMAGELO
LESEN 1111 16.6.3 EIN BILD ZEICHNEN 1113 16.6.4
PROGRAMM-ICON/FENSTER-ICON SETZEN 1116 16.6.5 SPLASH-SCREEN 1117 16.6.6
BILDER IM SPEICHER ERZEUGEN 1117 16.6.7 PIXEL FUER PIXEL AUSLESEN UND
SCHREIBEN 1119 16.6.8 BILDER SKALIEREN 1121 16.6.9 SCHREIBEN MIT IMAGELO
1123 16.6.10 ASYNCHRONES LADEN MITGETIMAGEO UND DEM MEDIATRACKER 1126
16.6.11 SELBST DEFINIERTE CURSOR 1127 16.6.12 VOLATILELMAGE 1129 16.7
WEITERE EIGENSCHAFTEN VON GRAPHICS 1129 16.7.1 EINE KOPIE VON GRAPHICS
ERSTELLEN 1129 16.7.2 KOORDINATENSYSTEM VERSCHIEBEN 1130 16.7.3
BESCHNITT (CLIPPING) 1130 16.8 ZEICHENHINWEISE DURCH RENDERINGHINTS 1134
16.9 TRANSFORMATIONEN MIT EINEM AFFINETRANSFORM-OBJEKT 1134 16.10
DRUCKEN 1136 16.10.1 DRUCKEN DER INHALTE 1137 16.10.2 BEKANNTE DRUCKER
1138 16.11 GRAFIKVERARBEITUNG OHNE GRAFISCHE OBERFLAECHE 1139 16.11.1
XVFB-SERVER 1140 16.11.2 PURE JAVA AWT TOOLKIT (PJA) 1140 16.12 ZUM
WEITERLESEN 1141 17.1 GRUNDLEGENDE BEGRIFFE 1143 17.1.1
INTERNET-STANDARDS UND RFC 1144 17.2 URI UND URL 1144 17.2.1 URI 1144
17.2.2 DIE KLASSE URL 1144 17.2.3 INFORMATIONEN UEBER EINE URL 1147
17.2.4 DER ZUGRIFF AUF DIE DATEN UEBER DIE KLASSE URL 1148 17.2.5
VERBINDUNGEN DURCH EINEN PROXY-SERVER 1150 17.3 DIE KLASSE URLCONNECTION
1151 17.3.1 METHODEN UND ANWENDUNG VON URLCONNECTION 1151 17.3.2
PROTOKOLL- UND CONTENT-HANDLER 1153 17.3.3 IM DETAIL: VOM URL ZUR
URLCONNECTION 1154 17.3.4 DER PROTOKOLL-HANDLER FUER JAR-DATEIEN 1155
INHALT 17.3.5 PASSWORT-GESCHUETZTE SEITEN MIT BASIC AUTHENTICATION/
PROXY-AUTHENTIFIZIERUNG 1157 17.4 MIT GET UND POST DATEN UEBERGEBEN 1159
17.4.1 KODIEREN DER PARAMETER FUER SERVERPROGRAMME 1159 17.4.2 EINE
SUCHMASCHINE ANSPRECHEN 1160 17.5 HOST- UND IP-ADRESSEN 1161 17.5.1 LEBT
DER RECHNER? 1163 17.5.2 DAS NETZ IST KLASSE 1164 17.5.3 IP-ADRESSE DES
LOKALEN HOSTS 1164 17.6 NETWORKINTERFACE 1165 17.7 MIT DEM SOCKET ZUM
SERVER 1166 17.7.1 DAS NETZWERK IST DER COMPUTER 1166 17.7.2 SOCKETS
1166 17.7.3 EINE VERBINDUNG ZUM SERVER AUFBAUEN 1167 17.7.4 SERVER UNTER
SPANNUNG: DIE STROEME 1168 17.7.5 DIE VERBINDUNG WIEDER ABBAUEN 1169
17.7.6 INFORMATIONEN UEBER DEN SOCKET 1169 17.7.7 REINE VERBINDUNGSDATEN
UEBER SOCKETADDRESS 1171 17.8 CLIENT/SERVER-KOMMUNIKATION 1172 17.8.1
WARTEN AUF VERBINDUNGEN 1173 17.8.2 EIN MULTIPLIKATIONSSERVER 1174
17.8.3 BLOCKIERENDES LESEN 1176 17.8.4 VON AUSSEN ERREICHBAR SEIN 1177
17.9 APACHE JAKARTA COMMONS HTTPCLIENT UND NET 1178 17.9.1 JAKARTA
COMMONS HTTPCLIENT 1178 17.9.2 JAKARTA COMMONS NET 1179 17.10
ARBEITSWEISE EINES WEBSERVERS 1180 17.10.1 DAS HYPERTEXT TRANSFER
PROTOCOL (HTTP) 1180 17.10.2 ANFRAGEN AN DEN SERVER 1180 17.10.3 DIE
ANTWORTEN VOM SERVER 1183 17.10.4 WEBSERVER MIT
COM.SUN.NET.HTTPSERVER.HTTPSERVER 1186 17.11 DATAGRAM-SOCKETS 1187
17.11.1 DIE KLASSE DATAGRAMSOCKET 1189 17.11.2 DATAGRAMME UND DIE KLASSE
DATAGRAM PACKET 1190 17.11.3 AUF EIN HEREINKOMMENDES PAKET WARTEN 1191
17.11.4 EIN PAKET ZUM SENDEN VORBEREITEN 1192 17.11.5 METHODEN DER
KLASSE DATAGRAM PACKET 1193 17.11.6 DAS PAKETSENDEN 1193 17.12 E-MAIL
1194 17.12.1 WIE EINE E-MAIL UM DIE WELT GEHT 1195 17.12.2 DAS SIMPLE
MAIL TRANSFER PROTOCOL UND RFC 822 1195 17.12.3 POP (POST OFFICE
PROTOCOL) 1196 29 INHALT 17.12.4 DIE JAVAMAIL API 1196 17.12.5 E-MAILS
MITTELS POP3 ABRUFEN 1197 17.12.6 E-MAILS VERSENDEN 1199 17.12.7
EREIGNISSE UND SUCHEN 1202 17.13 TIEFERLIEGENDE NETZWERKEIGENSCHAFTEN
1203 17.13.1 INTERNET CONTROL MESSAGE PROTOCOL (ICMP) 1203 17.13.2
MAC-ADRESSE 1203 17.14 ZUM WEITERLESEN 1204 18.1 ENTFERNTE OBJEKTE UND
METHODEN 1205 18.1.1 STELLVERTRETER HELFEN BEI ENTFERNTEN
METHODENAUFRUFEN 1205 18.1.2 STANDARDS FUER ENTFERNTE OBJEKTE 1207 18.2
JAVA REMOTE METHOD INVOCATION 1207 18.2.1 ZUSAMMENSPIEL VON SERVER,
REGISTRY UND CLIENT 1207 18.2.2 WIE DIE STELLVERTRETER DIE DATEN
UEBERTRAGEN 1207 18.2.3 PROBLEME MIT ENTFERNTEN METHODEN 1208 18.2.4
NUTZEN VON RMI BEI MIDDLEWARE-LOESUNGEN 1210 18.2.5 ZENTRALE KLASSEN UND
SCHNITTSTELLEN 1210 18.2.6 ENTFERNTE UND LOKALE OBJEKTE IM VERGLEICH
1211 18.3 AUF DER SERVERSEITE 1211 18.3.1 ENTFERNTE SCHNITTSTELLE
DEKLARIEREN 1211 18.3.2 REMOTE-OBJEKT-IMPLEMENTIERUNG 1212 18.3.3
STELLVERTRETEROBJEKTE 1213 18.3.4 DER NAMENSDIENST (REGISTRY) 1213
18.3.5 REMOTE-OBJEKT-IMPLEMENTIERUNG EXPORTIEREN UND BEIM NAMENSDIENST
ANMELDEN 1215 18.3.6 EINFACHES LOGGING 1217 18.3.7 AUFRAEUMEN MIT DEM DGC
1218 18.4 AUF DER CLIENTSEITE 1218 18.5 ENTFERNTE OBJEKTE UEBERGEBEN UND
LADEN 1219 18.5.1 KLASSEN VOM RMI-KLASSENLADER NACHLADEN 1220 18.6
WEITERE EIGENSCHAFTEN VON RMI 1220 18.6.1 RMI UND CORBA 1220 18.6.2 RMI
UEBER HTTP GETUNNELT 1220 18.6.3 AUTOMATISCHE REMOTE-OBJEKT-AKTIVIERUNG
1221 18.7 DAILY SOAP 1222 18.7.1 SOAP-PROTOKOLL 1222 18.7.2 DIE
TECHNISCHE REALISIERUNG 1223 18.7.3 SOAP-IMPLEMENTIERUNGEN 1223 18.7.4
@WEBSERVICE IN JAVA 6 1224 30 INHALT 18.7.5 EINEN WEB-SERVICE DEFINIEREN
1224 18.7.6 WEB-SERVICES VEROEFFENTLICHEN 1225 18.7.7 EINEN JAX-WS-CLIENT
IMPLEMENTIEREN 1225 18.8 JAVAMESSAGE SERVICE (JMS) 1227 18.9 ZUM
WEITERLESEN 1228 19.1 DYNAMISCH GENERIERTE WEBSEITEN 1229 19.1.1 WAS
SIND SERVLETS? 1229 19.1.2 WAS SIND JAVASERVER PAGES? 1230 19.2 SERVLETS
UND JSPS MIT TOMCAT ENTWICKELN 1231 19.2.1 SERVLET-CONTAINER 1231 19.2.2
ENTWICKLUNG DER SERVLET/JSP-SPEZIFIKATIONEN 1232 19.2.3 WEBSERVER MIT
SERVLET-FUNKTIONALITAET 1232 19.2.4 TOMCAT 1232 19.2.5 ABLAGEORT FUER
EIGENE JSP-SEITEN 1233 19.2.6 WEB-APPLIKATIONEN 1234 19.2.7 ZUORDNUNG
VON WEB-APPLIKATIONEN ZU PHYSIKALISCHEN VERZEICHNISSEN 1235 19.2.8 MIT
DEM WTP EIN WEB-PROJEKT ENTWICKELN 1235 19.3 STATISCHES UND DYNAMISCHES
1236 19.3.1 STATISCHER TEMPLATE-CODE 1236 19.3.2 DYNAMISCHE INHALTE 1237
19.3.3 KOMMENTARE 1237 19.4 DIE EXPRESSION LANGUAGE (EL) 1237 19.4.1
OPERATOREN DER EL 1238 19.4.2 LITERALE 1238 19.4.3 IMPLIZITE EL-OBJEKTE
1239 19.5 FORMULARDATEN 1239 19.6 AUF BEANS ZURUECKGREIFEN 1240 19.6.1
BEANS IN JSP-SEITEN ANLEGEN 1240 19.6.2 PROPERTIES EINER BEAN IM
EL-AUSDRUCK ERFRAGEN 1241 19.6.3 PROPERTIES MIT SETZEN 1241 19.6.4
BEAN-KLASSE ZUM TESTEN VON E-MAIL-ADRESSEN 1242 19.6.5 PARAMETERWERTE IN
BEAN UEBERTRAGEN 1243 19.7 JSP TAG-LIBRARIES 1243 19.7.1 STANDARD TAG
LIBRARY (JSTL) 1244 19.7.2 JAKARTA TAGLIBS PROJECT 1247 19.8 EINBINDEN
UND WEITERLEITEN 1248 19.8.1 EINBINDEN VON INHALTEN 1248 19.8.2 FORWARD
UND REDIRECT 1250 19.8.3 APPLETS EINBINDEN 1250 31 INHALT 19.9 SKRIPTEN
VON JSPS 1251 19.9.1 SCRIPTLETS 1251 19.9.2 JSP-AUSDRUECKE 1251 19.9.3
JSP-DEKLARATIONEN 1252 19.9.4 QUOTING 1252 19.9.5 ENTSPRECHENDE XML-TAGS
1252 19.9.6 IMPLIZITE OBJEKTE FUER SCRIPTLETS UND JSP-AUSDRUECKE 1253
19.10 JSP-DIREKTIVEN 1253 19.10.1 PAGE-DIREKTIVEN IM UEBERBLICK 1254
19.10.2 MITJSPS BILDER GENERIEREN 1255 19.11 SITZUNGSVERFOLGUNG (SESSION
TRACKING) 1256 19.11.1 LOESUNGEN FUER SITZUNGSVERFOLGUNG 1257 19.11.2 AUF
SESSION-DATEIEN ZURUECKGREIFEN 1258 19.12 SERVLETS 1258 19.12.1 SERVLETS
COMPILIEREN 1259 19.12.2 SERVLET-MAPPING 1260 19.12.3 DER LEBENSZYKLUS
EINES SERVLETS 1261 19.12.4 MEHRERE ANFRAGEN BEIM SERVLET UND DIE
THREAD-SICHERHEIT 1261 19.12.5 SERVLETS UND SESSIONS 1261 19.12.6
WEITERLEITEN UND EINBINDEN VON SERVLET-INHALTEN 1262 19.13
INTERNATIONALISIERUNG 1263 19.13.1 DIE LAENDERKENNUNG DES ANFRAGERS
AUSLESEN 1264 19.13.2 LAENDERKENNUNG FUER DIE AUSGABE SETZEN 1264 19.13.3
WESTEUROPAEISCHE TEXTE SENDEN 1264 19.14 ZUM WEITERLESEN 1265 20.1
APPLETS IN DER WIEGE VON JAVA 1267 20.1.1 (J)APPLET UND APPLIKATIONEN
1267 20.1.2 DAS ERSTE HALLO-APPLET 1267 20.1.3 DIE ZYKLEN EINES APPLETS
1269 20.1.4 PARAMETER AN DAS APPLET UEBERGEBEN 1269 20.1.5 WIE DAS APPLET
DEN BROWSER-INHALT AENDERN KANN 1271 20.1.6 DEN URSPRUNG DES APPLETS
ERFRAGEN 1271 20.1.7 DATENAUSTAUSCH ZWISCHEN APPLETS 1273 20.1.8 WAS EIN
APPLET ALLES DARF 1275 20.2 FEHLER IN APPLETS FINDEN 1276 20.2.1 IST
JAVA IM BROWSER AKTIVIERT? 1276 20.2.2 LAEUFT DAS APPLET UNTER NETSCAPE
ODER MICROSOFT EXPLORER? 1277 20.2.3 DATENAUSTAUSCH ZWISCHEN APPLETS UND
JAVA-SKRIPTEN 1278 20.3 WEBSTART 1279 32 INHALT 21.1 JAVA PLATFORM,
MICRO EDITION (JAVA ME) 1281 21.2 KONFIGURATIONEN 1281 21.2.1 CONNECTED
LIMITED DEVICE CONFIGURATION (CLDQ 1281 21.2.2 CONNECTED DEVICE
CONFIGURATION (CDC) 1282 21.3 PROFILE 1282 21.3.1 MOBILE INFORMATION
DEVICE PROFILE (MIDP) 1282 21.3.2 WEITERE PROFILE 1283 21.4 WIRELESS
TOOLKITS 1283 21.4.1 SUN JAVA WIRELESS TOOLKIT FOR CLDC 1283 21.4.2
ECLIPSE-PLUGIN 1284 21.5 DIE MIDLET-API 1286 21.5.1 PAKETSTRUKTUR MOBILE
INFORMATION DEVICE PROFILE (2.0) 1286 21.6 ZUM WEITERLESEN 1287 22.1 DAS
RELATIONALE MODELL 1289 22.2 DATENBANKEN UND TOOLS 1290 22.2.1 HSQLDB
1290 22.2.2 WEITERE DATENBANKEN 1291 22.2.3 EDIPSE-PLUGINS ZUM
DURCHSCHAUEN VON DATENBANKEN 1293 22.3 JDBC UND DATENBANKTREIBER 1295
22.3.1 TREIBERTYPEN 1296 22.3.2 JDBC-VERSIONEN 1297 22.4 EINE
BEISPIELABFRAGE 1298 22.4.1 SCHRITTE ZUR DATENBANKABFRAGE 1298 22.4.2
CLIENT FUER HSQLDB-DATENBANK 1299 22.5 MIT JAVA AN EINE DATENBANK
ANDOCKEN 1300 22.5.1 DER TREIBER-MANAGER 1301 22.5.2 DEN TREIBER LADEN
1301 22.5.3 EINE AUFZAEHLUNG ALLER TREIBER 1302 22.5.4 LOG-INFORMATIONEN
1303 22.5.5 VERBINDUNG ZUR DATENBANK AUF-UND ABBAUEN 1304 22.5.6
DATASOURCE 1307 22.5.7 GEPOOLTE VERBINDUNGEN 1310 22.6 DATENBANKABFRAGEN
1310 22.6.1 ABFRAGEN UEBER DAS STATEMENT-OBJEKT 1310 22.6.2 ERGEBNISSE
EINER ABFRAGE IN RESULTSET 1312 22.6.3 JAVA UND SQL-DATENTYPEN 1314
22.6.4 UNICODE IN DER SPALTE KORREKT AUSLESEN 1317 33 INHALT 22.6.5 EINE
SQL-NULL UND WASNULLO BEI RESULTSET 1317 22.6.6 WIE VIELE ZEILEN HAT EIN
RESULTSET? 1318 22.7 DIE AUSNAHMEN BEIJDBC 1318 22.8 ELEMENTE EINER
DATENBANK HINZUFUEGEN UND AKTUALISIEREN 1319 22.8.1 BATCH-UPDATES 1320
22.9 RESULTSETS IN BOHNEN DURCH ROWSET 1321 22.9.1 DIE SCHNITTSTELLE
ROWSET 1321 22.9.2 IMPLEMENTIERUNGEN VON ROWSET 1322 22.9.3 DER TYP
CACHEDROWSET 1322 22.9.4 DER TYP WEBROWSET 1323 22.10 VORBEREITETE
ANWEISUNGEN (PREPARED STATEMENTS) 1325 22.10.1 PREPAREDSTATEMENT-OBJEKTE
VORBEREITEN 1326 22.10.2 WERTE FUER DIE PLATZHALTEREINES
PREPAREDSTATEMENT 1326 22.11 TRANSAKTIONEN 1328 22.12 METADATEN 1328
22.12.1 METADATEN UEBER DIE TABELLE 1328 22.12.2 INFORMATIONEN UEBER DIE
DATENBANK 1332 22.13 EINFUEHRUNG IN SQL 1333 22.13.1 EIN RUNDGANG DURCH
SQL-ANFRAGEN 1333 22.13.2 DATENABFRAGE MIT DER DATA QUERY LANGUAGE (DQL)
1335 22.13.3 TABELLEN MIT DER DATA DEFINITION LANGUAGE (DDL) ANLEGEN
1337 22.14 ZUM WEITERLESEN 1337 23.1 METADATEN 1339 23.1.1 METADATEN
DURCH JAVA-DOC TAGS 1339 23.1.2 XDODET 1340 23.2 METADATEN DER KLASSEN
MIT DEM CLASS-OBJEKT 1340 23.2.1 AN EIN CLASS-OBJEKT KOMMEN 1341 23.2.2
WAS DAS CLASS-OBJEKT BESCHREIBT 1343 23.2.3 DER NAME DER KLASSE 1345
23.2.4 INSTANCEOF MIT CLASS-OBJEKTEN 1347 23.2.5 OBERKLASSEN FINDEN 1347
23.2.6 IMPLEMENTIERTE INTERFACES EINER KLASSE ODER EINES INTERFACES 1348
23.2.7 MODIFIZIERER UND DIE KLASSE MODIFIER 1349 23.2.8 DIE ARBEIT AUF
DEM FELD 1350 23.3 ATTRIBUTE, METHODEN UND KONSTRUKTOREN 1351 23.3.1
REFLECTIONS GESPUER FUER ATTRIBUTE EINER KLASSE 1352 23.3.2 METHODEN EINER
KLASSE ERFRAGEN 1355 23.3.3 PROPERTIES EINER BEAN ERFRAGEN 1358 23.3.4
KONSTRUKTOREN EINER KLASSE 1359 23.3.5 ANNOTATIONEN 1361 34 INHALT 23.4
OBJEKTE ERZEUGEN UND MANIPULIEREN 1361 23.4.1 OBJEKTE ERZEUGEN 1361
23.4.2 DIE BELEGUNG DER VARIABLEN ERFRAGEN 1363 23.4.3 EINE GENERISCHE
TOSTRINGO-FUNKTION 1365 23.4.4 VARIABLEN SETZEN 1366 23.4.5 PRIVATE
ATTRIBUTE AENDERN 1368 23.5 METHODEN AUFRUFEN 1369 23.5.1 STATISCHE
METHODEN AUFRUFEN 1370 23.5.2 DYNAMISCHE METHODENAUFRUFE BEI FESTEN
METHODEN BESCHLEUNIGEN 1371 23.6 INFORMATIONEN UND IDENTIFIZIERUNG VON
PAKETEN 1372 23.6.1 GELADENE PAKETE 1373 23.7 ANNOTATIONEN 1373 23.7.1
NEUE ANNOTATIONEN DEFINIEREN 1373 23.7.2 ANNOTATIONEN MIT GENAU EINEM
ELEMENT 1373 23.7.3 BELIEBIGE SCHLUESSEL-WERTE-PAARE 1375 23.7.4
VORBELEGTE ELEMENTE 1378 23.7.5 ANNOTIEREN VON ANNOTATIONSTYPEN 1379
23.7.6 ANNOTATIONEN ZUR LAUFZEIT AUSGELESEN 1381 23.7.7 MOEGLICHE
NACHTEILE VON ANNOTATIONEN 1383 24.1 DIE LOGGING-API 1385 24.1.1
EINFACHES LOGGING 1385 24.1.2 LOG-LEVEL 1386 24.1.3 LOGGING IN EINE
DATEI 1386 24.2 UEBERWACHEN VON SYSTEMZUSTAENDEN 1387 24.3 MBEAN-TYPEN,
MBEAN-SERVER UND WEITERE BEGRIFFE , 1388 24.3.1 MXBEANS DES SYSTEMS 1389
24.4 GESCHWAETZIGE PROGRAMME UND JCONSOLE 1391 24.4.1 JCONSOLE 1391 24.5
DER MBEANSERVER 1393 24.6 EINE EIGENE STANDARD-MBEAN 1394 24.6.1
MANAGEMENT-SCHNITTSTELLE 1394 24.6.2 IMPLEMENTIERUNG DER MANAGED
RESSOURCE 1394 24.6.3 ANMELDUNG BEIM SERVER 1395 24.6.4 EIGENE BEAN IN
JCONSOLE 1395 24.6.5 JMX MIT RMI-ADAPTOR 1397 24.7 ZUM WEITERLESEN 1399
35 INHALT 25.1 ZENTRALE ELEMENTE DER JAVA-SICHERHEIT 1401 25.1.1
SECURITY-API DERJAVASE 1401 25.1.2 CRYPTOGRAPHIC SERVICE PROVIDERS 1402
25.2 DER SANDKASTEN (SANDBOX) 1403 25.3 SICHERHEITSMANAGER (SECURITY
MANAGER) 1403 25.3.1 DER SICHERHEITSMANAGER BEI APPLETS 1405 25.3.2
SICHERHEITSMANAGER AKTIVIEREN 1406 25.3.3 WIE NUTZEN DIE
JAVA-BIBLIOTHEKEN DEN SICHERHEITSMANAGER? 1407 25.3.4 RECHTE DURCH
POLICY-DATEIEN VERGEBEN 1408 25.3.5 ERSTELLEN VON RECHTEDATEIEN MIT DEM
GRAFISCHEN POLICY-TOOL 1410 25.3.6 KRITIK AN DEN POLICIES 1410 25.4
SIGNIERUNG 1412 25.4.1 WARUM SIGNIEREN? 1412 25.4.2 DIGITALE AUSWEISE
UND DIE ZERTIFIZIERUNGSSTELLE 1412 25.4.3 MIT KEYTOOL SCHLUESSEL ERZEUGEN
1413 25.4.4 SIGNIEREN MITJARSIGNER 1414 25.5 DIGITALE UNTERSCHRIFTEN ,
1414 25.5.1 DIE MDX-REIHE 1415 25.5.2 SECURE HASH ALGORITHM (SHA) 1415
25.5.3 MIT DER SECURITY-API EINEN FINGERABDRUCK BERECHNEN 1416 25.5.4
DIE KLASSE MESSAGEDIGEST 1416 25.5.5 UNIX-CRYPT 1418 25.6 VERSCHLUESSELN
VON DATEN(-STROEMEN) 1418 25.6.1 DEN SCHLUESSEL BITTE 1418 25.6.2
VERSCHLUESSELN MIT CIPHER 1420 25.6.3 VERSCHLUESSELN VON DATENSTROEMEN 1420
25.7 ZUM WEITERLESEN 1422 26.1 JAVA NATIVE INTERFACE UND INVOCATION-API
1423 26.2 EINBINDEN EINER C-FUNKTION IN EIN JAVA-PROGRAMM 1424 26.2.1
SCHREIBEN DES JAVA-CODES 1424 26.2.2 COMPILIEREN DES JAVA-PROGRAMMS 1425
26.2.3 ERZEUGEN DER HEADER-DATEI 1425 26.2.4 IMPLEMENTIERUNG DER METHODE
IN C 1426 26.2.5 UEBERSETZEN DER C-PROGRAMME UND ERZEUGEN DER DYNAMISCHEN
BIBLIOTHEK 1427 26.2.6 SUCHORT DER DYNAMISCHEN BIBLIOTHEK 1429 26.3
NATIV DIE STRINGLAENGE ERMITTELN 1429 36 INHALT 26.4 ERWEITERTE
JNI-EIGENSCHAFTEN 1430 26.4.1 KLASSENDEFINITIONEN 1430 26.4.2 ZUGRIFF
AUF ATTRIBUTE 1431 26.5 EINFACHE ANBINDUNG VON EXISTIERENDEN
BIBLIOTHEKEN 1433 26.5.1 C++ KLASSEN ANSPRECHEN 1433 26.5.2
COM-SCHNITTSTELLEN ANZAPFEN 1433 26.6 ZUM WEITERLESEN 1434 27.1 DIE
WERKZEUGE IM UEBERBLICK 1435 27.2 JAVA-COMPILER 1435 27.2.1 BYTECODE
COMPILER JAVAC 1435 27.2.2 NATIVE COMPILER 1436 27.2.3 JAVA-PROGRAMME IN
EIN NATIVES AUSFUEHRBARES PROGRAMM EINPACKEN 1437 27.3 DER
JAVA-INTERPRETER JAVA 1437 27.3.1
DERUNTERSCHIEDZWISCHENJAVA.EXEUNDJAVAW.EXE 1438 27.4 DAS ARCHIVFORMAT
JAR 1439 27.4.1 DAS DIENSTPROGRAMM JAR BENUTZEN 1439 27.4.2 DAS MANIFEST
1442 27.4.3 APPLIKATIONEN IN JAR-ARCHIVEN STARTEN 1442 27.4.4 APPLETS IN
JAR-ARCHIVEN 1443 27.5 MONITORINGPROGRAMME 1444 27.5.1 JPS 1444 27.5.2
JSTAT 1444 27.5.3 JMAP 1444 27.5.4 JSTACK 1445 27.6 ANT 1445 27.6.1
BEZUG UND INSTALLATION VON ANT 1446 27.6.2 PROPERTIES 1447 27.6.3
EXTERNE UND VORDEFINIERTE PROPERTIES 1448 27.6.4 WEITERE ANT-TASKS 1449
27.7 DECOMPILER UND OBFUSCATOREN 1450 27.7.1 DER DECOMPILER JAD 1451
27.7.2 DAS OBFUSCATOR-PROGRAMM PROGUARD 1451 27.8 WEITERE
DIENSTPROGRAMME 1452 27.8.1 SOURCECODE BEAUTIFIER 1452 27.8.2
JAVA-PROGRAMME ALS SYSTEMDIENST AUSFUEHREN 1453 27.9 ZUM WEITERLESEN 1454
INDEX 1457 37 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Ullenboom, Christian |
author_GND | (DE-588)123404738 |
author_facet | Ullenboom, Christian |
author_role | aut |
author_sort | Ullenboom, Christian |
author_variant | c u cu |
building | Verbundindex |
bvnumber | BV035065580 |
classification_rvk | ST 250 |
classification_tum | DAT 362f |
ctrlnum | (OCoLC)188236953 (DE-599)BVBBV035065580 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 7., aktualisierte und erw. Aufl., 1. Nachdr. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01473nam a2200385 c 4500</leader><controlfield tag="001">BV035065580</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080923s2008 gw ad|| |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836211468</subfield><subfield code="9">978-3-8362-1146-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)188236953</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035065580</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 362f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Ullenboom, Christian</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)123404738</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Java ist auch eine Insel</subfield><subfield code="b">programmieren mit der Java Platform, Standard Edition 6</subfield><subfield code="c">Christian Ullenboom</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">7., aktualisierte und erw. Aufl., 1. Nachdr.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Galileo Press</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1477 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield><subfield code="e">DVD-ROM (12 cm)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Galileo Computing</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java Standard Edition 6</subfield><subfield code="0">(DE-588)7554591-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Java Standard Edition 6</subfield><subfield code="0">(DE-588)7554591-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">GBV Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016734041&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016734041</subfield></datafield></record></collection> |
id | DE-604.BV035065580 |
illustrated | Illustrated |
index_date | 2024-07-02T22:02:12Z |
indexdate | 2024-07-09T21:21:25Z |
institution | BVB |
isbn | 9783836211468 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016734041 |
oclc_num | 188236953 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-20 |
owner_facet | DE-91G DE-BY-TUM DE-20 |
physical | 1477 S. Ill., graph. Darst. DVD-ROM (12 cm) |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Galileo Press |
record_format | marc |
series2 | Galileo Computing |
spelling | Ullenboom, Christian Verfasser (DE-588)123404738 aut Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 Christian Ullenboom 7., aktualisierte und erw. Aufl., 1. Nachdr. Bonn Galileo Press 2008 1477 S. Ill., graph. Darst. DVD-ROM (12 cm) txt rdacontent n rdamedia nc rdacarrier Galileo Computing Java Standard Edition 6 (DE-588)7554591-3 gnd rswk-swf Java Standard Edition 6 (DE-588)7554591-3 s DE-604 GBV Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016734041&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Ullenboom, Christian Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 Java Standard Edition 6 (DE-588)7554591-3 gnd |
subject_GND | (DE-588)7554591-3 |
title | Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 |
title_auth | Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 |
title_exact_search | Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 |
title_exact_search_txtP | Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 |
title_full | Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 Christian Ullenboom |
title_fullStr | Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 Christian Ullenboom |
title_full_unstemmed | Java ist auch eine Insel programmieren mit der Java Platform, Standard Edition 6 Christian Ullenboom |
title_short | Java ist auch eine Insel |
title_sort | java ist auch eine insel programmieren mit der java platform standard edition 6 |
title_sub | programmieren mit der Java Platform, Standard Edition 6 |
topic | Java Standard Edition 6 (DE-588)7554591-3 gnd |
topic_facet | Java Standard Edition 6 |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016734041&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT ullenboomchristian javaistaucheineinselprogrammierenmitderjavaplatformstandardedition6 |