Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Ullenboom, Christian (VerfasserIn)
Format: Buch
Sprache:German
Veröffentlicht: Bonn Galileo Pr. 2012
Ausgabe:1. Aufl.
Schriftenreihe:Galileo Computing
Schlagworte:
Online-Zugang:kostenfrei
Inhaltsverzeichnis
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

MARC

LEADER 00000nam a2200000 c 4500
001 BV039550206
003 DE-604
005 20221108
007 t
008 110829s2012 gw ad|| |||| 00||| ger d
016 7 |a 1013798112  |2 DE-101 
020 |a 9783836215077  |9 978-3-8362-1507-7 
020 |a 3836215071  |9 3-8362-1507-1 
035 |a (OCoLC)750966170 
035 |a (DE-599)DNB1013798112 
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-M347  |a DE-1051  |a DE-1050  |a DE-573  |a DE-Aug4  |a DE-20  |a DE-706  |a DE-858  |a DE-634  |a DE-29T  |a DE-91  |a DE-739  |a DE-1046  |a DE-384  |a DE-863  |a DE-B768  |a DE-473  |a DE-M382  |a DE-83  |a DE-862 
082 0 |a 005.133  |2 22/ger 
084 |a ST 250  |0 (DE-625)143626:  |2 rvk 
084 |a 68N15  |2 msc 
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 7 - mehr als eine Insel  |b das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]  |c Christian Ullenboom 
246 1 3 |a Java sieben - mehr als eine Insel 
250 |a 1. Aufl. 
264 1 |a Bonn  |b Galileo Pr.  |c 2012 
300 |a 1433 S.  |b Ill., graph. Darst. 
336 |b txt  |2 rdacontent 
337 |b n  |2 rdamedia 
338 |b nc  |2 rdacarrier 
490 0 |a Galileo Computing 
500 |a 2. Aufl. u.d.T.: Ullenboom, Christian: Java SE 8 Standard-Bibliothek 
650 0 7 |a Java Standard Edition 7  |0 (DE-588)7751205-4  |2 gnd  |9 rswk-swf 
689 0 0 |a Java Standard Edition 7  |0 (DE-588)7751205-4  |D s 
689 0 |5 DE-604 
856 4 1 |u https://www.heise.de/download/product/java-7-mehr-als-eine-insel-85729/download  |x Verlag  |z kostenfrei  |3 Volltext 
856 4 2 |m DNB Datenaustausch  |q application/pdf  |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024402097&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA  |3 Inhaltsverzeichnis 
912 |a ebook 

Datensatz im Suchindex

DE-473_call_number 60/ST 250j35 GA 11703
DE-473_location 0
DE-BY-FWS_katkey 418153
DE-BY-TUM_call_number 0102/DAT 362f 2011 A 8708
DE-BY-TUM_katkey 1779954
DE-BY-TUM_media_number 040071380073
DE-BY-UBG_katkey 2972933
DE-BY-UBG_local_notation ST 250j35
DE-BY-UBG_media_number 013907098229
_version_ 1816713639981219840
adam_text IMAGE 1 AUF EINEN BLICK 1 NEUES IN JAVA 7 41 2 THREADS UND NEBENLAEUFIGE PROGRAMMIERUNG 65 3 DATENSTRUKTUREN UND ALGORITHMEN 175 4 RAUM UND ZEIT 305 5 DATEIEN, VERZEICHNISSE UND DATEIZUGRIFFE 357 6 DATENSTROEME 427 7 DIE EXTENSIBLE MARKUP LANGUAGE (XML) 531 8 DATEIFORMATE 617 9 GRAFISCHE OBERFLAECHEN MIT SWING 645 10 GRAFIKPROGRAMMIERUNG 865 11 NETZWERKPROGRAMMIERUNG 955 12 VERTEILTE PROGRAMMIERUNG MIT RMI 1035 13 RESTFUI UND SOAP WEB-SERVICES 1057 14 JAVASERVER PAGES UND SERVLETS 1079 15 APPLETS 1123 16 DATENBANKMANAGEMENT MIT JDBC 1139 17 TECHNOLOGIEN FUER DIE INFRASTRUKTUR 1207 18 REFLECTION UND ANNOTATIONEN 1227 19 DYNAMISCHE UEBERSETZUNG UND SKRIPTSPRACHEN 1289 20 LOGGING UND MONITORING 1315 21 JAVA NATIVE INTERFACE (JNI) 1337 22 SICHERHEITSKONZEPTE 1355 23 DIENSTPROGRAMME FUER DIE JAVA-UMGEBUNG 1381 BIBLIOGRAFISCHE INFORMATIONEN HTTP://D-NB.INFO/1013798112 DIGITALISIERT DURCH IMAGE 2 INHALT VORWORT 35 1 NEUES IN JAVA 7 1.1 SPRACHAENDERUNGEN 41 1.1.1 ZAHLEN IM BINAERSYSTEM SCHREIBEN 41 1.1.2 UNTERSTRICHE BEI GANZZAHLEN 41 1.1.3 SWITCH (STRING) 42 1.1.4 ZUSAMMENFASSEN GLEICHER CATCH-BLOECKE MIT DEM MULTI-CATCH 43 1.1.5 PRAEZISIERTES RETHROWS 47 1.1.6 AUTOMATISCHES RESSOURCEN-MANAGEMENT (TRY MIT RESSOURCEN) 51 1.1.7 TRY MIT RESSOURCEN 51 1.1.8 AUSNAHMEN VOM CLOSE() BLEIBEN BESTEHEN 53 1.1.9 DIE SCHNITTSTELLE AUTOCLOSEABLE 53 1.1.10 MEHRERE RESSOURCEN NUTZEN 55 1.1.11 UNTERDRUECKTE AUSNAHMEN * 56 1.2 JVM-AENDERUNGEN 59 1.2.1 INVOKEDYNAMIC 60 1.3 NEUE PAKETE UND KLASSEN 63 1.3.1 WEITERE AENDERUNGEN 63 2 THREADS UND NEBENLAEUFIGE PROGRAMMIERUNG 2.1 THREADS ERZEUGEN 65 2.1.1 THREADS UEBER DIE SCHNITTSTELLE RUNNABLE IMPLEMENTIEREN 65 2.1.2 THREAD MIT RUNNABLE STARTEN 66 2.1.3 DIE KLASSE THREAD ERWEITERN 68 2.2 THREAD-EIGENSCHAFTEN UND -ZUSTAENDE 71 2.2.1 DER NAME EINES THREADS 71 2.2.2 WER BIN ICH? 72 2.2.3 DIE ZUSTAENDE EINES THREADS * 72 IMAGE 3 2.2.4 SCHLAEFER GESUCHT 73 2.2.5 MITYIELD() AUF RECHENZEIT VERZICHTEN 75 2.2.6 DER THREAD ALS DAEMON 76 2.2.7 DAS ENDE EINES THREADS 78 2.2.8 EINEN THREAD HOEFLICH MIT INTERRUPT BEENDEN 79 2.2.9 UNCAUGHTEXCEPTIONHANDLER FUER UNBEHANDELTE AUSNAHMEN 81 2.2.10 DER STOP() VON AUSSEN UND DIE RETTUNG MIT THREADDEATH * 82 2.2.11 EIN RENDEZVOUS MIT JOIN() * 84 2.2.12 ARBEIT NIEDERLEGEN UND WIEDER AUFNEHMEN * 87 2.2.13 PRIORITAET* 87 2.3 DER AUSFUEHRER (EXECUTOR) KOMMT 88 2.3.1 DIE SCHNITTSTELLE EXECUTOR 89 2.3.2 DIE THREAD-POOLS 91 2.3.3 THREADS MIT RUECKGABE UEBER CALLABLE 92 2.3.4 MEHRERE CALLABLE ABARBEITEN 96 2.3.5 SCHEDULEDEXECUTORSERVICE FUER WIEDERHOLENDE AUSGABEN UND ZEITSTEUERUNGEN NUTZEN 97 2.4 SYNCHRONISATION UEBER KRITISCHE ABSCHNITTE 98 2.4.1 GEMEINSAM GENUTZTE DATEN 98 2.4.2 PROBLEME BEIM GEMEINSAMEN ZUGRIFF UND KRITISCHE ABSCHNITTE 98 2.4.3 PUNKTE PARALLEL INITIALISIEREN 100 2.4.4 I++ SIEHT ATOMAR AUS, IST ES ABER NICHT * 102 2.4.5 KRITISCHE ABSCHNITTE SCHUETZEN 103 2.4.6 KRITISCHE ABSCHNITTE MIT REENTRANTLOCK SCHUETZEN 106 2.4.7 SYNCHRONISIEREN MIT SYNCHRONIZED 113 2.4.8 SYNCHRONIZED-METHODEN DER KLASSE STRINGBUFFER * 114 2.4.9 MIT SYNCHRONIZED SYNCHRONISIERTE BLOECKE 115 2.4.10 DANN MACHEN WIR DOCH GLEICH ALLES SYNCHRONISIERT! 117 2.4.11 LOCK-FREIGABE IM FALL VON EXCEPTIONS 118 2.4.12 DEADLOCKS 119 2.4.13 MIT SYNCHRONIZED NACHTRAEGLICH SYNCHRONISIEREN * 121 2.4.14 MONITORE SIND REENTRANT - GUT FUER DIE GESCHWINDIGKEIT * 122 2.4.15 SYNCHRONISIERTE METHODENAUFRUFE ZUSAMMENFASSEN * 123 2.5 SYNCHRONISATION UEBER WARTEN UND BENACHRICHTIGEN 124 2.5.1 DIE SCHNITTSTELLE CONDITION 125 2.5.2 IT'S DISCO-TIME * 129 IMAGE 4 2.5.3 WARTEN MIT WAIT() UND AUFWECKEN MIT NOTIFYQ * 135 2.5.4 FALLS DER LOCK FEHLT: ILLEGALMONITORSTATEEXCEPTION * 136 2.6 DATENSYNCHRONISATION DURCH BESONDERE CONCURRENCY-KLASSEN * 138 2.6.1 SEMAPHOR 138 2.6.2 BARRIER UND AUSTAUSCH 143 2.6.3 STOP AND GO MIT EXCHANGER 145 2.7 ATOMARE OPERATIONEN UND FRISCHE WERTE MIT VOLATILE * 145 2.7.1 DER MODIFIZIERER VOLATILE BEI OBJEKT-/KLASSENVARIABLEN 146 2.7.2 DAS PAKET JAVA.UTIL.CONCURRENT.ATOMIC 148 2.8 TEILE UND HERRSCHE MIT FORK UND JOIN * 149 2.8.1 ALGORITHMENDESIGN PER »TEILE UND HERRSCHE 149 2.8.2 PARALLELES LOESEN VON D&C-ALGORITHMEN 151 2.8.3 FORK UND JOIN 152 2.9 MIT DEM THREAD VERBUNDENE VARIABLEN * 156 2.9.1 THREADLOCAL 156 2.9.2 INHERITABLETHREADLOCAL 159 2.9.3 THREADLOCALRANDOM ALS ZUFALLSZAHLENGENERATOR 160 2.9.4 THREADLOCAL BEI DER PERFORMANCE-OPTIMIERUNG 161 2.10 THREADS IN EINER THREAD-GRUPPE * 162 2.10.1 AKTIVE THREADS IN DER UMGEBUNG 162 2.10.2 ETWAS UEBER DIE AKTUELLE THREAD-GRUPPE HERAUSFINDEN 163 2.10.3 THREADS IN EINER THREAD-GRUPPE ANLEGEN 166 2.10.4 METHODEN VON THREAD UND THREADGROUP IM VERGLEICH 169 2.11 ZEITGESTEUERTE ABLAEUFE 170 2.11.1 DIE TYPEN TIMER UND TIMERTASK 171 2.11.2 JOB-SCHEDULER QUARTZ 172 2.12 EINEN ABBRUCH DER VIRTUELLEN MASCHINE ERKENNEN 173 2.13 ZUM WEITERLESEN 174 3 DATENSTRUKTUREN UND ALGORITHMEN 3.1 DATENSTRUKTUREN UND DIE COLLECTION-API 175 3.1.1 DESIGNPRINZIP MIT SCHNITTSTELLEN, ABSTRAKTEN UND KONKRETEN KLASSEN 176 3.1.2 DIE BASIS-SCHNITTSTELLEN COLLECTION UND MAP 176 3.1.3 DIE UTILITY-KLASSEN COLLECTIONS UND ARRAYS 177 IMAGE 5 3.1.4 DAS ERSTE PROGRAMM MIT CONTAINER-KLASSEN 177 3.1.5 DIE SCHNITTSTELLE COLLECTION UND KERNKONZEPTE 178 3.1.6 SCHNITTSTELLEN, DIE COLLECTION ERWEITERN, UND MAP 182 3.1.7 KONKRETE CONTAINER-KLASSEN 185 3.1.8 GENERISCHE DATENTYPEN IN DER COLLECTION-API 187 3.1.9 DIE SCHNITTSTELLE ITERABLE UND DAS ERWEITERTE FOR 187 3.2 LISTEN 188 3.2.1 ERSTES LISTEN-BEISPIEL 189 3.2.2 AUSWAHLKRITERIUM ARRAYLIST ODER LINKEDLIST 190 3.2.3 DIE SCHNITTSTELLE LIST 191 3.2.4 ARRAYLIST 197 3.2.5 LINKEDLIST 200 3.2.6 DER FELD-ADAPTER ARRAYS.ASLISTQ 201 3.2.7 LISTLTERATOR * 202 3.2.8 TOARRAY() VON COLLECTION VERSTEHEN - DIE GEFAHR EINER FALLE ERKENNEN 204 3.2.9 PRIMITIVE ELEMENTE IN DATENSTRUKTUREN VERWALTEN 207 3.3 MENGEN (SETS) 208 3.3.1 EIN ERSTES MENGEN-BEISPIEL 209 3.3.2 METHODEN DER SCHNITTSTELLE SET 212 3.3.3 HASHSET 213 3.3.4 TREESET - DIE SORTIERTE MENGE 214 3.3.5 DIE SCHNITTSTELLEN NAVIGABLESET UND SORTEDSET 216 3.3.6 LINKEDHASHSET 218 3.4 STACK (KELLERSPEICHER, STAPEL) 218 3.4.1 DIE METHODEN VON STACK 219 3.5 QUEUES (SCHLANGEN) UND DEQUES 220 3.5.1 QUEUE-KLASSEN 221 3.5.2 DEQUE-KLASSEN 222 3.5.3 BLOCKIERENDE QUEUES UND PRIORITAETSWARTESCHLANGEN 223 3.5.4 PRIORITYQUEUE 223 3.6 ASSOZIATIVE SPEICHER 228 3.6.1 DIE KLASSEN HASHMAP UND TREEMAP 228 3.6.2 EINFUEGEN UND ABFRAGEN DER DATENSTRUKTUR 231 3.6.3 UEBER DIE BEDEUTUNG VON EQUALS() UND HASHCODE() 234 3.6.4 EIGENE OBJEKTE HASHEN 235 3.6.5 IDENTITYHASHMAP 237 3.6.6 DAS PROBLEM VON VERAENDERTEN ELEMENTEN 237 IMAGE 6 3.6.7 AUFZAEHLUNGEN UND ANSICHTEN DES ASSOZIATIVSPEICHERS 237 3.6.8 DIE ARBEITSWEISE EINER HASH-TABELLE * 241 3.7 DIE PROPERTIES-KLASSE 243 3.7.1 PROPERTIES SETZEN UND LESEN 243 3.7.2 PROPERTIES VERKETTEN 244 3.7.3 HIERARCHISCHE EIGENSCHAFTEN 245 3.7.4 EIGENSCHAFTEN AUF DER KONSOLE AUSGEBEN * 245 3.7.5 PROPERTIES LADEN UND SPEICHERN 246 3.7.6 KLASSENBEZIEHUNGEN: PROPERTIES UND HASHTABLE * 248 3.8 MIT EINEM ITERATOR DURCH DIE DATEN WANDERN 249 3.8.1 DIE SCHNITTSTELLE ITERATOR 249 3.8.2 DER ITERATOR KANN (EVENTUELL AUCH) LOESCHEN 251 3.8.3 EINEN ZUFALLSZAHLENITERATOR SCHREIBEN 252 3.8.4 ITERATOREN VON SAMMLUNGEN, DAS ERWEITERTE FOR UND ITERABLE 254 3.8.5 FAIL-FAST-ITERATOR UND DIE CONCURRENTMODIFICATIONEXCEPTION 258 3.8.6 DIE SCHNITTSTELLE ENUMERATOR * 260 3.9 ALGORITHMEN IN COLLECTIONS 261 3.9.1 DIE BEDEUTUNG VON ORDNUNG MIT COMPARATOR UND COMPARABLE 263 3.9.2 SORTIEREN 264 3.9.3 DEN GROESSTEN UND KLEINSTEN WERT EINER COLLECTION FINDEN 267 3.9.4 NICHT-AENDERBARE DATENSTRUKTUREN, IMMUTABLE ODER NUR-LESEN? 270 3.9.5 NULL OBJECT PATTERN UND LEERE SAMMLUNGEN/ITERATOREN ZURUECKGEBEN 274 3.9.6 MIT DER HALBIERUNGSSUCHE NACH ELEMENTEN FAHNDEN 278 3.9.7 ERSETZEN, KOPIEREN, FUELLEN, UMDREHEN, ROTIEREN * 279 3.9.8 LISTEN DURCHWUERFELN * 281 3.9.9 HAEUFIGKEIT EINES ELEMENTS * 282 3.9.10 SINGLETONS* 282 3.9.11 NCOPIES()* 283 3.10 SPEZIELLE THREAD-SICHERE DATENSTRUKTUREN 284 3.10.1 WAIT-FREE-ALGORITHMEN 284 3.10.2 NEBENLAEUFIGER ASSOZIATIVSPEICHER UND DIE SCHNITTSTELLE CONCURRENTMAP 284 3.10.3 CONCURRENTLINKEDQUEUE 285 3.10.4 COPYONWRITEARRAYLIST UND COPYONWRITEARRAYSET 285 3.10.5 WRAPPER ZUR SYNCHRONISATION 286 3.10.6 BLOCKIERENDE WARTESCHLANGEN 287 IMAGE 7 3.10.7 ARRAYBLOCKINGQUEUE UND LINKEDBLOCKINGQUEUE 287 3.10.8 PRIORITYBLOCKINGQUEUE 290 3.11 GOOGLE GUAVA (AKA GOOGLE COLLECTIONS LIBRARY) 294 3.11.1 BEISPIEL MULTI-SET UND MULTI-MAP 294 3.11.2 DATENSTRUKTUREN AUS GUAVA 295 3.11.3 UTILITY-KLASSEN VON GUAVA 297 3.11.4 PRAEDIKATE 298 3.11.5 TRANSFORMATIONEN 299 3.12 DIE KLASSE BITSET FUER BITMENGEN * 299 3.12.1 EIN BITSET ANLEGEN, FUELLEN UND ERFRAGEN 300 3.12.2 MENGENORIENTIERTE OPERATIONEN 301 3.12.3 METHODENUEBERSICHT 302 3.12.4 PRIMZAHLEN IN EINEM BITSET VERWALTEN 304 3.13 ZUM WEITERLESEN 304 4 RAUM UND ZEIT 4.1 WELTZEIT* 305 4.2 WICHTIGE DATUM-KLASSEN IM UEBERBLICK 306 4.2.1 DER 1.1.1970 307 4.2.2 SYSTEM.CURRENTTIMEMILLIS() 307 4.2.3 EINFACHE ZEITUMRECHNUNGEN DURCH TIMEUNIT 307 4.3 SPRACHEN DER LAENDER 308 4.3.1 SPRACHEN UND REGIONEN UEBER LOCALE-OBJEKTE 309 4.4 INTERNATIONALISIERUNG UND LOKALISIERUNG 312 4.4.1 RESOURCEBUNDLE-OBJEKTE UND RESSOURCE-DATEIEN 313 4.4.2 RESSOURCE-DATEIEN ZUR LOKALISIERUNG 314 4.4.3 DIE KLASSE RESOURCEBUNDLE 314 4.4.4 LADESTRATEGIE FUER RESOURCEBUNDLE-OBJEKTE 316 4.5 DIE KLASSE DATE 317 4.5.1 OBJEKTE ERZEUGEN UND METHODEN NUTZEN 317 4.5.2 DATE-OBJEKTE SIND NICHT IMMUTABLE 319 4.6 CALENDAR UND GREGORIANCALENDAR 320 4.6.1 DIE ABSTRAKTE KLASSE CALENDAR 320 4.6.2 DER GREGORIANISCHE KALENDER 322 10 IMAGE 8 4.6.3 CALENDAR NACH DATE UND MILLISEKUNDEN FRAGEN 325 4.6.4 OSTERTAGE* 326 4.6.5 ABFRAGEN UND SETZEN VON DATUMSELEMENTEN UEBER FELDBEZEICHNER 328 4.6.6 WIE VIELE TAGE HAT DER MONAT, ODER WIE VIELE MONATE HAT EIN JAHR? * 333 4.6.7 WANN BEGINNT DIE WOCHE UND WANN DIE ERSTE WOCHE IM JAHR? * 335 4.7 ZEITZONEN IN JAVA * 336 4.7.1 ZEITZONEN DURCH DIE KLASSE TIMEZONE REPRAESENTIEREN 337 4.7.2 SIMPLETIMEZONE 337 4.7.3 METHODEN VON TIMEZONE 339 4.8 ZEITDAUERN UND DER XML-DATENTYP DURATION * 340 4.8.1 DATATYPEFACTORY ALS FABRIK 341 4.8.2 DIE DURATION-KLASSE UND IHRE METHODEN 342 4.9 FORMATIEREN UND PARSEN VON DATUMSANGABEN 345 4.9.1 AUSGABEN MIT PRINTF() 345 4.9.2 MIT DATEFORMAT UND SIMPLEDATEFORMAT FORMATIEREN 346 4.9.3 PARSEN VON DATUMSWERTEN 352 4.10 ZUM WEITERLESEN 355 5 DATEIEN, VERZEICHNISSE UND DATEIZUGRIFFE 5.1 DATEI UND VERZEICHNIS 357 5.1.1 DATEIEN UND VERZEICHNISSE MIT DER KLASSE FILE 358 5.1.2 VERZEICHNIS ODER DATEI? EXISTIERT ES? 361 5.1.3 VERZEICHNIS- UND DATEIEIGENSCHAFTEN/-ATTRIBUTE 362 5.1.4 UMBENENNEN UND VERZEICHNISSE ANLEGEN 365 5.1.5 VERZEICHNISSE AUFLISTEN UND DATEIEN FILTERN 365 5.1.6 DATEIEN BERUEHREN, NEUE DATEIEN ANLEGEN, TEMPORAERE DATEIEN 369 5.1.7 DATEIEN UND VERZEICHNISSE LOESCHEN 370 5.1.8 VERZEICHNISSE NACH DATEIEN ITERATIV DURCHSUCHEN * 372 5.1.9 WURZELVERZEICHNIS, LAUFWERKSNAMEN, PLATTENSPEICHER * 373 5.1.10 URL-, URI- UND PATH-OBJEKTE AUS EINEM FILE-OBJEKT ABLEITEN * 376 5.1.11 MIT LOCKING DATEIEN SPERREN * 376 5.1.12 SICHERHEITSPRUEFUNG* 377 5.1.13 ZUGRIFF AUF SMB-SERVER MIT JCIFS * 378 11 IMAGE 9 5.2 DATEIEN MIT WAHLFREIEM ZUGRIFF 378 5.2.1 EIN RANDOMACCESSFILE ZUM LESEN UND SCHREIBEN OEFFNEN 379 5.2.2 AUS DEM RANDOMACCESSFILE LESEN 380 5.2.3 SCHREIBEN MIT RANDOMACCESSFILE 383 5.2.4 DIE LAENGE DES RANDOMACCESSFILE 384 5.2.5 HIN UND HER IN DER DATEI 384 5.3 DATEISYSTEME UNTER NIO.2 385 5.3.1 FILESYSTEM UND PATH 386 5.3.2 DIE UTILITY-KLASSE FILES 392 5.3.3 DATEIEN KOPIEREN UND VERSCHIEBEN 395 5.3.4 DATEIATTRIBUTE* 397 5.3.5 NEUE DATEIEN, VERZEICHNISSE, SYMBOLISCHE VERKNUEPFUNGEN ANLEGEN UND LOESCHEN 406 5.3.6 MIME-TYPEN TESTEN * 408 5.3.7 VERZEICHNISLISTINGS (DIRECTORYSTREAM) UND FILTER * 410 5.3.8 REKURSIVE ABLAEUFE DES VERZEICHNISBAUMS (FILEVISITOR) * 412 5.3.9 DATEISYSTEME UND DATEISYSTEMATTRIBUTE * 416 5.3.10 VERZEICHNISSE IM DATEISYSTEM UEBERWACHEN * 420 5.4 WAHLFREIER ZUGRIFF MIT SEEKABLEBYTECHANNEL UND BYTEBUFFER * 422 5.4.1 SEEKABLEBYTECHANNEL 422 5.4.2 BYTEBUFFER 423 5.4.3 BEISPIEL MIT PATH + SEEKABLEBYTECHANNEL + BYTEBUFFER 423 5.4.4 FILECHANNEL 424 5.5 ZUM WEITERLESEN 426 6 DATENSTROEME 6.1 STREAM-KLASSEN UND READER/WRITER AM BEISPIEL VON DATEIEN 427 6.1.1 MIT DEM FILEWRITER TEXTE IN DATEIEN SCHREIBEN 428 6.1.2 ZEICHEN MIT DER KLASSE FILEREADER LESEN 430 6.1.3 KOPIEREN MIT FILEOUTPUTSTREAM UND FILELNPUTSTREAM 431 6.1.4 DAS FILEDESCRIPTOR-OBJEKT * 435 6.1.5 DATENSTROEME UEBER FILES MIT NIO.2 BEZIEHEN 436 6.2 BASISKLASSEN FUER DIE EIN-/AUSGABE 438 6.2.1 DIE ABSTRAKTEN BASISKLASSEN 438 6.2.2 UEBERSICHT UEBER EIN-/AUSGABEKLASSEN 439 12 IMAGE 10 6.2.3 DIE ABSTRAKTE BASISKLASSE OUTPUTSTREAM 441 6.2.4 DIE SCHNITTSTELLEN CLOSEABLE, AUTOCLOSEABLE UND FLUSHABLE 443 6.2.5 EIN DATENSCHLUCKER * 444 6.2.6 DIE ABSTRAKTE BASISKLASSE INPUTSTREAM 445 6.2.7 RESSOURCEN AUS DEM KLASSENPFAD UND AUS JAR-ARCHIVEN LADEN 446 6.2.8 STROEME MIT SEQUENCELNPUTSTREAM ZUSAMMENSETZEN * 447 6.2.9 DIE ABSTRAKTE BASISKLASSE WRITER 449 6.2.10 DIE SCHNITTSTELLE APPENDABLE * 451 6.2.11 DIE ABSTRAKTE BASISKLASSE READER 451 6.3 FORMATIERTE TEXTAUSGABEN 454 6.3.1 DIE KLASSEN PRINTWRITER UND PRINTSTREAM 455 6.3.2 SYSTEM.OUT, SYSTEM.ERR UND SYSTEM.IN 460 6.4 SCHREIBEN UND LESEN AUS STRINGS UND BYTE-FELDERN 462 6.4.1 MIT DEM STRINGWRITER EIN STRING-OBJEKT FUELLEN 463 6.4.2 CHARARRAYWRITER 464 6.4.3 STRINGREADER UND CHARARRAYREADER 465 6.4.4 MIT BYTEARRAYOUTPUTSTREAM IN EIN BYTE-FELD SCHREIBEN 467 6.4.5 MIT BYTEARRAYLNPUTSTREAM AUS EINEM BYTE-FELD LESEN 467 6.5 DATENSTROEME FILTERN UND VERKETTEN 468 6.5.1 STREAMS ALS FILTER VERKETTEN (VERSCHACHTELN) 469 6.5.2 GEPUFFERTE AUSGABEN MIT BUFFEREDWRITER UND BUFFEREDOUTPUTSTREAM 469 6.5.3 GEPUFFERTE EINGABEN MIT BUFFEREDREADER/BUFFEREDLNPUTSTREAM 471 6.5.4 LINENUMBERREADER ZAEHLT AUTOMATISCH ZEILEN MIT * 474 6.5.5 DATEN MIT DER KLASSE PUSHBACKREADER ZURUECKLEGEN * 474 6.5.6 DATAOUTPUTSTREAM/DATALNPUTSTREAM * 478 6.5.7 BASISKLASSEN FUER FILTER * 478 6.5.8 DIE BASISKLASSE FILTERWRITER * 479 6.5.9 EIN LOWERCASEWRITER * 480 6.5.10 EINGABEN MIT DER KLASSE FILTERREADER FILTERN * 482 6.5.11 ANWENDUNGEN FUER FILTERREADER UND FILTERWRITER * 483 6.6 VERMITTLER ZWISCHEN BYTE-STREAMS UND UNICODE-STROEMEN 491 6.6.1 DATENKONVERTIERUNG DURCH DEN OUTPUTSTREAMWRITER 491 6.6.2 AUTOMATISCHE KONVERTIERUNGEN MIT DEM INPUTSTREAMREADER 492 6.7 KOMMUNIKATION ZWISCHEN THREADS MIT PIPES * 493 6.7.1 PIPEDOUTPUTSTREAM UND PIPEDLNPUTSTREAM 494 6.7.2 PIPEDWRITER UND PIPEDREADER 496 13 IMAGE 11 6.8 PRUEFSUMMEN 4 98 6.8.1 DIE SCHNITTSTELLE CHECKSUM 498 6.8.2 DIE KLASSE CRC32 499 6.8.3 DIE ADLER32-KLASSE 501 6.9 PERSISTENTE OBJEKTE UND SERIALISIERUNG 502 6.9.1 OBJEKTE MIT DER STANDARD-SERIALISIERUNG SPEICHERN UND LESEN 503 6.9.2 ZWEI EINFACHE ANWENDUNGEN DER SERIALISIERUNG * 506 6.9.3 DIE SCHNITTSTELLE SERIALIZABLE 507 6.9.4 NICHT SERIALISIERBARE ATTRIBUTE AUSSPAREN 509 6.9.5 DAS ABSPEICHERN SELBST IN DIE HAND NEHMEN 511 6.9.6 TIEFE OBJEKTKOPIEN * 515 6.9.7 VERSIONENVERWALTUNG UND DIE SUID 517 6.9.8 WIE DIE ARRAYLIST SERIALISIERT * 519 6.9.9 PROBLEME MIT DER SERIALISIERUNG 520 6.10 ALTERNATIVE DATENAUSTAUSCHFORMATE 522 6.10.1 SERIALISIEREN IN XML-DATEIEN 522 6.10.2 XML-SERIALISIERUNG VON JAVABEANS MIT JAVABEANS PERSISTENCE * 522 6.10.3 DIE OPEN-SOURCE-BIBLIOTHEK XSTREAM * 525 6.10.4 BINAERE SERIALISIERUNG MIT GOOGLE PROTOCOL BUFFERS * 526 6.11 TOKENIZER* 526 6.11.1 STREAMTOKENIZER 526 6.12 ZUM WEITERLESEN 529 7 DIE EXTENSIBLE MARKUP LANGUAGE (XML) 7.1 AUSZEICHNUNGSSPRACHEN 531 7.1.1 DIE STANDARD GENERALIZED MARKUP LANGUAGE (SGML) 532 7.1.2 EXTENSIBLE MARKUP LANGUAGE (XML) 532 7.2 EIGENSCHAFTEN VON XML-DOKUMENTEN 533 7.2.1 ELEMENTE UND ATTRIBUTE 533 7.2.2 BESCHREIBUNGSSPRACHE FUER DEN AUFBAU VON XML-DOKUMENTEN 535 7.2.3 SCHEMA - EINE ALTERNATIVE ZU DTD 539 7.2.4 NAMENSRAUM (NAMESPACE) 542 7.2.5 XML-APPLIKATIONEN* 543 14 IMAGE 12 7.3 DIE JAVA-APIS FUER XML 544 7.3.1 DAS DOCUMENT OBJECT MODEL (DOM) 545 7.3.2 SIMPLE API FOR XML PARSING (SAX) 545 7.3.3 PULL-API STAX 545 7.3.4 JAVA DOCUMENT OBJECT MODEL (JDOM) 545 7.3.5 JAXP ALS JAVA-SCHNITTSTELLE ZU XML 546 7.3.6 DOM-BAEUME EINLESEN MIT JAXP * 547 7.4 JAVA ARCHITECTURE FOR XML BINDING (JAXB) 548 7.4.1 BEAN FUER JAXB AUFBAUEN 548 7.4.2 JAXBCONTEXT UND DIE MARSHALLER 549 7.4.3 GANZE OBJEKTGRAPHEN SCHREIBEN UND LESEN 550 7.4.4 VALIDIERUNG 553 7.4.5 WEITERE JAXB-ANNOTATIONEN * 557 7.4.6 BEANS AUS XML-SCHEMA-DATEI GENERIEREN 565 7.5 SERIELLE VERARBEITUNG MIT STAX 570 7.5.1 UNTERSCHIEDE DER VERARBEITUNGSMODELLE 571 7.5.2 XML-DATEIEN MIT DEM CURSOR-VERFAHREN LESEN 572 7.5.3 XML-DATEIEN MIT DEM ITERATOR-VERFAHREN VERARBEITEN * 576 7.5.4 MIT FILTERN ARBEITEN * 578 7.5.5 XML-DOKUMENTE SCHREIBEN 579 7.6 SERIELLE VERARBEITUNG VON XML MIT SAX * 582 7.6.1 SCHNITTSTELLEN VON SAX 583 7.6.2 SAX-PARSER ERZEUGEN 584 7.6.3 OPERATIONEN DER SCHNITTSTELLE CONTENTHANDLER 584 7.6.4 ERRORHANDLER UND ENTITYRESOLVER 587 7.7 XML-DATEIEN MIT JDOM VERARBEITEN 588 7.7.1 JDOM BEZIEHEN 588 7.7.2 PAKETUEBERSICHT* 588 7.7.3 DIE DOCUMENT-KLASSE 590 7.7.4 EINGABEN AUS DER DATEI LESEN 591 7.7.5 DAS DOKUMENT IM XML-FORMAT AUSGEBEN 592 7.7.6 DER DOKUMENTTYP * 593 7.7.7 ELEMENTE 594 7.7.8 ZUGRIFF AUF ELEMENTINHALTE '. 597 7.7.9 LISTE MIT UNTERELEMENTEN ERZEUGEN * 599 7.7.10 NEUE ELEMENTE EINFUEGEN UND AENDERN 600 15 IMAGE 13 7.7.11 ATTRIBUTINHALTE LESEN UND AENDERN 603 7.7.12 XPATH 606 7.8 TRANSFORMATIONEN MIT XSLT * 610 7.8.1 TEMPLATES UND XPATH ALS KERNELEMENTE VON XSLT 610 7.8.2 UMWANDLUNG VON XML-DATEIEN MIT JDOM UND JAXP 613 7.9 XML-SCHEMA-VALIDIERUNG* 614 7.9.1 SCHEMAFACTORY UND SCHEMA 614 7.9.2 VALIDATOR 614 7.9.3 VALIDIERUNG UNTERSCHIEDLICHER DATENQUELLEN DURCHFUEHREN 615 7.10 ZUM WEITERLESEN 615 8 DATEIFORMATE 8.1 EINFACHE DATEIFORMATE FUER STRUKTURIERTE DATEN 618 8.1.1 PROPERTY-DATEIEN 618 8.1.2 CSV-DATEIEN. 618 8.1.3 JSON-SERIALISIERUNG MIT JACKSON 619 8.2 DOKUMENTENFORMATE 620 8.2.1 (X)HTML 620 8.2.2 PDF-DOKUMENTE . 622 8.2.3 MICROSOFT OFFICE-DOKUMENTE 622 8.2.4 OASIS OPEN DOCUMENT FORMAT 624 8.3 DATENKOMPRESSION* 624 8.3.1 JAVA-UNTERSTUETZUNG BEIM KOMPRIMIEREN 625 8.3.2 DATEN PACKEN UND ENTPACKEN 626 8.3.3 DATENSTROEME KOMPRIMIEREN 627 8.3.4 ZIP-ARCHIVE 632 8.3.5 JAR-ARCHIVE 640 8.4 BILD-FORMATE 640 8.5 AUDIO-DATEIEN 640 8.5.1 DIE ARBEIT MIT AUDIOCLIP 640 8.5.2 MIDI-DATEIEN ABSPIELEN 641 16 IMAGE 14 GRAFISCHE OBERFLAECHEN MIT SWING 9.1 FENSTER ZUR WELT 645 9.1.1 SWING-FENSTER MIT JAVAX.SWING.JFRAME DARSTELLEN 645 9.1.2 FENSTER SCHLIESSBAR MACHEN - SETDEFAULTCLOSEOPERATION() 647 9.1.3 SICHTBARKEIT DES FENSTERS 648 9.1.4 GROESSE UND POSITION DES FENSTERS VERAENDERN 648 9.1.5 FENSTER- UND DIALOG-DEKORATION, TRANSPARENZ * 649 9.1.6 DIE KLASSE TOOLKIT * 650 9.1.7 DYNAMISCHES LAYOUT WAEHREND EINER GROESSENAENDERUNG * 651 9.1.8 ZUM VERGLEICH: AWT-FENSTER DARSTELLEN * 651 9.2 BESCHRIFTUNGEN (JLABEL) 653 9.2.1 MEHRZELLIGER TEXT, HTML IN DER DARSTELLUNG 656 9.3 ICON UND IMAGELCON FUER BILDER AUF SWING-KOMPONENTEN 657 9.3.1 DIE KLASSE IMAGELCON 657 9.3.2 DIE SCHNITTSTELLE ICON UND EIGENE ICONS ZEICHNEN * 659 9.4 ES TUT SICH WAS - EREIGNISSE BEIM AWT 661 9.4.1 DIE EREIGNISQUELLEN UND HORCHER (LISTENER) VON SWING 662 9.4.2 LISTENER IMPLEMENTIEREN 663 9.4.3 LISTENER BEI DEM EREIGNISAUSLOESER ANMELDEN/ABMELDEN 666 9.4.4 ADAPTERKLASSEN NUTZEN 668 9.4.5 INNERE MITGLIEDSKLASSEN UND INNERE ANONYME KLASSEN 670 9.4.6 AUFRUFEN DER LISTENER IM AWT-EVENT-THREAD 672 9.4.7 EREIGNISSE, ETWAS GENAUER BETRACHTET * 673 9.5 SCHALTFLAECHEN 676 9.5.1 NORMALE SCHALTFLAECHEN (JBUTTON) 676 9.5.2 DER AUFMERKSAME ACTIONLISTENER 678 9.5.3 SCHALTFLAECHEN-EREIGNISSE VOM TYP ACTIONEVENT 679 9.5.4 BASISKLASSE ABSTRACTBUTTON 680 9.5.5 WECHSELKNOPF (JTOGGLEBUTTON) 682 9.6 TEXTKOMPONENTEN 683 9.6.1 TEXT IN EINER EINGABEZEILE 684 9.6.2 DIE OBERKLASSE DER TEXT-KOMPONENTEN (JTEXTCOMPONENT) 685 9.6.3 GESCHUETZTE EINGABEN (JPASSWORDFIELD) 686 9.6.4 VALIDIERENDE EINGABEFELDER (JFORMATTEDTEXTFIELD) 687 9.6.5 EINFACHE MEHRZEILIGE TEXTFELDER (JTEXTAREA) 688 9.6.6 EDITOR-KLASSE (JEDITORPANE) * 692 17 IMAGE 15 9.7 SWING ACTION * 694 9.8 JCOMPONENT UND COMPONENT ALS BASIS ALLER KOMPONENTEN 697 9.8.1 HINZUFUEGEN VON KOMPONENTEN 697 9.8.2 TOOLTIPS (KURZHINWEISE) 698 9.8.3 RAHMEN (BORDER) * 699 9.8.4 FOKUS UND NAVIGATION * 701 9.8.5 EREIGNISSE JEDER KOMPONENTE * 702 9.8.6 DIE GROESSE UND POSITION EINER KOMPONENTE * 706 9.8.7 KOMPONENTEN-EREIGNISSE * 707 9.8.8 UI-DELEGATE - DER WAHRE ZEICHNER * 708 9.8.9 UNDURCHSICHTIGE (OPAKE) KOMPONENTE * 711 9.8.10 PROPERTIES UND LISTENER FUER AENDERUNGEN * 711 9.9 CONTAINER 711 9.9.1 STANDARDCONTAINER (JPANEL) 712 9.9.2 BEREICH MIT AUTOMATISCHEN ROLLBALKEN (JSCROLLPANE) 713 9.9.3 REITER (JTABBEDPANE) 714 9.9.4 TEILUNGSKOMPONENTE (JSPLITPANE) 715 9.10 ALLES AUSLEGUNGSSACHE: DIE LAYOUTMANAGER 716 9.10.1 UEBERSICHT UEBER LAYOUTMANAGER 717 9.10.2 ZUWEISEN EINES LAYOUTMANAGERS 717 9.10.3 IM FLUSS MIT FLOWLAYOUT 718 9.10.4 BOXLAYOUT 720 9.10.5 MIT BORDERLAYOUT IN ALLE HIMMELSRICHTUNGEN 721 9.10.6 RASTERANORDNUNG MIT GRIDLAYOUT 724 9.10.7 DER GRIDBAGLAYOUTMANAGER * 725 9.10.8 NULL-LAYOUT* 731 9.10.9 WEITERE LAYOUTMANAGER 732 9.11 ROLLBALKEN UND SCHIEBEREGLER 733 9.11.1 SCHIEBEREGLER (JSLIDER) 733 9.11.2 ROLLBALKEN (JSCROLLBAR) * 734 9.12 KONTROLLFELDER, OPTIONSFELDER, KONTROLLFELDGRUPPEN 739 9.12.1 KONTROLLFELDER (JCHECKBOX) 740 9.12.2 ITEMSELECTABLE, ITEMLISTENER UND DAS ITEMEVENT 741 9.12.3 SICH GEGENSEITIG AUSSCHLIESSENDE OPTIONEN (JRADIOBUTTON) 743 9.13 FORTSCHRITTE BEI OPERATIONEN UEBERWACHEN * 745 9.13.1 FORTSCHRITTSBALKEN (JPROGRESSBAR) 745 9.13.2 DIALOG MIT FORTSCHRITTSANZEIGE (PROGRESSMONITOR) 748 18 IMAGE 16 9.14 MENUES UND SYMBOLLEISTEN 748 9.14.1 DIE MENUELEISTEN UND DIE EINTRAEGE 748 9.14.2 MENUEEINTRAEGE DEFINIEREN 750 9.14.3 EINTRAEGE DURCH ACTION-OBJEKTE BESCHREIBEN 751 9.14.4 MIT DER TASTATUR: MNEMONICS UND SHORTCUT 752 9.14.5 DERTASTATUR-SHORTCUT (ACCELERATOR) 753 9.14.6 TASTENKUERZEL (MNEMONICS) 755 9.14.7 SYMBOLLEISTEN ALIAS TOOLBARS 756 9.14.8 POPUP-MENUES 759 9.14.9 SYSTEM-TRAY NUTZEN * 764 9.15 DAS MODEL-VIEW-CONTROLLER-KONZEPT 765 9.16 AUSWAHLMENUES, LISTEN UND SPINNER 767 9.16.1 LISTEN (JLIST) 767 9.16.2 AUSWAHLMENUE (JCOMBOBOX) 775 9.16.3 DREHFELD (JSPINNER) * 787 9.16.4 DATUMSAUSWAHL* 789 9.17 TABELLEN (JTABLE) 789 9.17.1 EIN EIGENES TABELLEN-MODEL 791 9.17.2 BASISKLASSE FUER EIGENE MODELLE (ABSTRACTTABLEMODEL) 792 9.17.3 EIN VORGEFERTIGTES STANDARD-MODELL (DEFAULTTABLEMODEL) 796 9.17.4 EIN EIGENER RENDERER FUER TABELLEN 798 9.17.5 ZEIL-EDITOREN 801 9.17.6 GROESSE UND UMRANDUNG DER ZELLEN * 803 9.17.7 SPALTENINFORMATIONEN* 803 9.17.8 TABELLENKOPF VON SWING-TABELLEN * 804 9.17.9 SELEKTIONEN EINER TABELLE * 805 9.17.10 AUTOMATISCHES SORTIEREN UND FILTERN MIT ROWSORTER * 806 9.18 BAEUME (JTREE) 809 9.18.1 JTREE UND SEIN TREEMODEL UND TREENODE 809 9.18.2 SELEKTIONEN BEMERKEN 811 9.18.3 DAS TREEMODEL VON JTREE * 811 9.19 JROOTPANE UND JDESKTOPPANE * 815 9.19.1 WURZELKOMPONENTE DER TOP-LEVEL-KOMPONENTEN (JROOTPANE) 815 9.19.2 JDESKTOPPANE UND DIE KINDER VON JINTERNALFRAME 815 9.19.3 JLAYEREDPANE 817 9.20 DIALOGE UND WINDOW-OBJEKTE 818 9.20.1 JWINDOW UND JDIALOG 818 19 IMAGE 17 9.20.2 MODAL ODER NICHT-MODAL? 819 9.20.3 STANDARDDIALOGE MIT JOPTIONPANE 820 9.20.4 DER DATEIAUSWAHLDIALOG 823 9.20.5 DER FARBAUSWAHLDIALOG JCOLORCHOOSER * 827 9.21 FLEXIBLES JAVA-LOOK-AND-FEEL 830 9.21.1 LOOK AND FEEL GLOBAL SETZEN 830 9.21.2 UIMANAGER 830 9.21.3 DIE WINDOWS-OPTIK MIT JGOODIES LOOKS VERBESSERN * 833 9.22 SWING-KOMPONENTEN NEU ERSTELLEN ODER VERAENDERN * 833 9.22.1 UEBERLAGERUNGEN MIT DEM SWING-KOMPONENTEN-DEKORATOR JLAYER 834 9.23 DIE ZWISCHENABLAGE (CLIPBOARD) 836 9.23.1 CLIPBOARD-OBJEKTE 836 9.23.2 MIT TRANSFERABLE AUF DEN INHALT ZUGREIFEN 837 9.23.3 DATAFLAVOR IST DAS FORMAT DER DATEN IN DER ZWISCHENABLAGE 838 9.23.4 EINFUEGUNGEN IN DER ZWISCHENABLAGE ERKENNEN 840 9.23.5 DRAG & DROP 841 9.24 UNDO DURCHFUEHREN * 842 9.25 AWT, SWING UND DIE THREADS 844 9.25.1 EREIGNISSCHLANGE (EVENTQUEUE) UND AWT-EVENT-THREAD 844 9.25.2 SWING IST NICHT THREAD-SICHER 845 9.25.3 INVOKELATER() UND INVOKEANDWAIT() 848 9.25.4 SWINGWORKER 851 9.25.5 EIGENE EREIGNISSE IN DIE QUEUE SETZEN * 853 9.25.6 AUF ALLE EREIGNISSE HOEREN * 854 9.26 BARRIEREFREIHEIT MIT DER JAVA ACCESSIBILITY API 854 9.27 ZEITLICHES AUSFUEHREN MIT DEM JAVAX.SWING.TIMER 855 9.28 DIE ZUSATZKOMPONENTENBIBLIOTHEK SWINGX 856 9.28.1 IM ANGEBOT: ERWEITERTE UND NEUE SWING-KOMPONENTEN 857 9.28.2 UEBERBLICK UEBER ERWEITERTE STANDARD-SWING-KLASSEN 857 9.28.3 NEUE SWING-KLASSEN 858 9.28.4 WEITERE SWINGX-KLASSEN 859 9.28.5 SWINGX-INSTALLATION 860 9.29 ALTERNATIVEN ZU PROGRAMMIERTEN OBERFLAECHEN, AWT UND SWING * 860 9.29.1 DEKLARATIVE BESCHREIBUNGEN DER OBERFLAECHE: SWING JAVABUILDER, SWIXML 860 9.29.2 SWT (STANDARD WIDGET TOOLKIT) 862 9.30 ZUM WEITERLESEN 864 20 IMAGE 18 10 GRAFIKPROGRAMMIERUNG 10.1 GRUNDLEGENDES ZUM ZEICHNEN 865 10.1.1 DIE PAINT()-METHODE FUER DAS AWT-FRAME 865 10.1.2 ZEICHNEN VON INHALTEN AUF EIN JFRAME 867 10.1.3 AUFFORDERN ZUM NEUZEICHNEN MIT REPAINT() 869 10.1.4 JAVA2D-API 869 10.2 EINFACHE ZEICHENMETHODEN 870 10.2.1 LINIEN 870 10.2.2 RECHTECKE 871 10.2.3 OVALE UND KREISBOEGEN 872 10.2.4 POLYGONE UND POLYLINES 874 10.3 ZEICHENKETTEN SCHREIBEN UND FONTS 876 10.3.1 ZEICHENFOLGEN SCHREIBEN 877 10.3.2 DIE FONT-KLASSE 878 10.3.3 EINEN NEUEN FONT AUS EINEM GEGEBENEN FONT ABLEITEN 880 10.3.4 ZEICHENSAETZE DES SYSTEMS ERMITTELN * 880 10.3.5 NEUE TRUETYPE-FONTS IN JAVA NUTZEN 881 10.3.6 FONT-METADATEN DURCH FONTMETRICS * 882 10.4 GEOMETRISCHE OBJEKTE 886 10.4.1 DIE SCHNITTSTELLE SHAPE 888 10.4.2 KREISFOERMIGES 889 10.4.3 KURVIGES* 890 10.4.4 AREA UND DIE KONSTRUKTIVE FLAECHENGEOMETRIE * 890 10.4.5 PFADE* 891 10.4.6 PUNKT IN EINER FORM, SCHNITT VON LINIEN, ABSTAND PUNKT/LINIE * 895 10.5 DAS INNERE UND AEUSSERE EINER FORM 896 10.5.1 FARBEN UND DIE PAINT-SCHNITTSTELLE 896 10.5.2 FARBEN MIT DER KLASSE COLOR 897 10.5.3 DIE FARBEN DES SYSTEMS UEBER SYSTEMCOLOR * 903 10.5.4 COMPOSITE UND XOR * 907 10.5.5 DICKE UND ART DER LINIEN VON FORMEN BESTIMMEN UEBER STROKE * 908 10.6 BILDER 913 10.6.1 EINE UEBERSICHT UEBER DIE BILDER-BIBLIOTHEKEN 914 10.6.2 BILDER MIT IMAGELO LESEN 915 10.6.3 EIN BILD ZEICHNEN 917 10.6.4 PROGRAMM-ICON/FENSTER-ICON SETZEN 921 21 IMAGE 19 10.6.5 SPLASH-SCREEN* 922 10.6.6 BILDER IM SPEICHER ERZEUGEN * 922 10.6.7 PIXEL FUER PIXEL AUSLESEN UND SCHREIBEN * 925 10.6.8 BILDER SKALIEREN * 927 10.6.9 SCHREIBEN MIT IMAGELO 929 10.6.10 ASYNCHRONES LADEN MIT GETLMAGE() UND DEM MEDIATRACKER * 934 10.7 WEITERE EIGENSCHAFTEN VON GRAPHICS * 935 10.7.1 EINE KOPIE VON GRAPHICS ERSTELLEN 935 10.7.2 KOORDINATENSYSTEM VERSCHIEBEN 936 10.7.3 BESCHNITT (CLIPPING) 937 10.7.4 ZEICHENHINWEISE DURCH RENDERINGHINTS 941 10.7.5 TRANSFORMATIONEN MIT EINEM AFFINETRANSFORM-OBJEKT 941 10.8 DRUCKEN* 944 10.8.1 DRUCKEN DER INHALTE 944 10.8.2 BEKANNTE DRUCKER 946 10.9 BENUTZERINTERAKTIONEN AUTOMATISIEREN, ROBOT UND SCREENSHOTS * 947 10.9.1 DER ROBOTER 947 10.9.2 AUTOMATISCH IN DIE TASTEN HAUEN 948 10.9.3 AUTOMATISIERTE MAUSOPERATIONEN 949 10.9.4 METHODEN ZUR ZEITSTEUERUNG 949 10.9.5 BILDSCHIRMABZUEGE (SCREENSHOTS) 950 10.9.6 FUNKTIONSWEISE UND BESCHRAENKUNGEN 952 10.9.7 MOUSELNFO UND POINTERLNFO 952 10.10 ZUM WEITERLESEN 953 11 NETZWERKPROGRAMMIERUNG 11.1 GRUNDLEGENDE BEGRIFFE 955 11.2 URI UND URL 957 11.2.1 DIE KLASSE URI 957 11.2.2 DIE KLASSE URL 958 11.2.3 INFORMATIONEN UEBER EINE URL * 961 11.2.4 DER ZUGRIFF AUF DIE DATEN UEBER DIE KLASSE URL 963 11.3 DIE KLASSE URLCONNECTION * 965 11.3.1 METHODEN UND ANWENDUNG VON URLCONNECTION 965 11.3.2 PROTOKOLL- UND CONTENT-HANDLER 967 22 IMAGE 20 11.3.3 IM DETAIL: VOM URL ZUR URLCONNECTION 968 11.3.4 DER PROTOKOLL-HANDLER FUER JAR-DATEIEN 969 11.3.5 BASIC AUTHENTICATION UND PROXY-AUTHENTIFIZIERUNG 971 11.4 MIT GET UND POST DATEN UEBERGEBEN * 973 11.4.1 KODIEREN DER PARAMETER FUER SERVERPROGRAMME 974 11.4.2 EINE SUCHMASCHINE MIT GET-REQUEST ANSPRECHEN 975 11.4.3 POST-REQUEST ABSENDEN 976 11.5 HOST- UND IP-ADRESSEN 977 11.5.1 LEBT DER RECHNER? 980 11.5.2 IP-ADRESSE DES LOKALEN HOSTS 980 11.5.3 DAS NETZ IST KLASSE 981 11.5.4 NETWORKINTERFACE 981 11.6 MIT DEM SOCKET ZUM SERVER 983 11.6.1 DAS NETZWERK IST DER COMPUTER 983 11.6.2 SOCKETS 983 11.6.3 EINE VERBINDUNG ZUM SERVER AUFBAUEN 984 11.6.4 SERVER UNTER SPANNUNG: DIE STROEME 985 11.6.5 DIE VERBINDUNG WIEDER ABBAUEN 986 11.6.6 INFORMATIONEN UEBER DEN SOCKET * 986 11.6.7 REINE VERBINDUNGSDATEN UEBER SOCKETADDRESS * 988 11.7 CLIENT-SERVER-KOMMUNIKATION 989 11.7.1 WARTEN AUF VERBINDUNGEN 990 11.7.2 EIN MULTIPLIKATIONSSERVER 991 11.7.3 BLOCKIERENDES LESEN 995 11.7.4 VON AUSSEN ERREICHBAR SEIN * 996 11.8 APACHE HTTPCOMPONENTS UND COMMONS NET * 997 11.8.1 HTTPCOMPONENTS 997 11.8.2 APACHE COMMONS NET 998 11.9 ARBEITSWEISE EINES WEBSERVERS * 998 11.9.1 DAS HYPERTEXT TRANSFER PROTOCOL (HTTP) 998 11.9.2 ANFRAGEN AN DEN SERVER 999 11.9.3 DIE ANTWORTEN VOM SERVER 1002 11.9.4 WEBSERVER MIT COM.SUN.NET.HTTPSERVER.HTTPSERVER 1006 11.10 VERBINDUNGEN DURCH EINEN PROXY-SERVER * 1007 11.10.1 SYSTEM-PROPERTIES 1008 11.10.2 VERBINDUNGEN DURCH DIE PROXY-API 1008 23 IMAGE 21 11.11 DATAGRAM-SOCKETS* 1010 11.11.1 DIE KLASSE DATAGRAMSOCKET 1012 11.11.2 DATAGRAMME UND DIE KLASSE DATAGRAMPACKET 1013 11.11.3 AUF EIN HEREINKOMMENDES PAKET WARTEN 1014 11.11.4 EIN PAKET ZUM SENDEN VORBEREITEN 1015 11.11.5 METHODEN DER KLASSE DATAGRAMPACKET 1016 11.11.6 DAS PAKET SENDEN 1017 11.12 E-MAIL* 1019 11.12.1 WIE EINE E-MAIL UM DIE WELT GEHT 1019 11.12.2 DAS SIMPLE MAIL TRANSFER PROTOCOL UND RFC 822 1019 11.12.3 POP (POST OFFICE PROTOCOL) 1020 11.12.4 DIE JAVAMAIL API 1020 11.12.5 E-MAILS MITTELS POP3 ABRUFEN 1023 11.12.6 MULTIPART-NACHRICHTEN VERARBEITEN 1025 11.12.7 E-MAILS VERSENDEN 1027 11.12.8 EREIGNISSE UND SUCHEN 1030 11.13 TIEFER LIEGENDE NETZWERKEIGENSCHAFTEN * 1031 11.13.1 INTERNET CONTROL MESSAGE PROTOCOL (ICMP) 1031 11.13.2 MAC-ADRESSE 1032 11.14 ZUM WEITERLESEN 1033 12 VERTEILTE PROGRAMMIERUNG MIT RMI 12.1 ENTFERNTE OBJEKTE UND METHODEN 1035 12.1.1 STELLVERTRETER HELFEN BEI ENTFERNTEN METHODENAUFRUFEN 1035 12.1.2 STANDARDS FUER ENTFERNTE OBJEKTE 1037 12.2 JAVA REMOTE METHOD INVOCATION 1038 12.2.1 ZUSAMMENSPIEL VON SERVER, REGISTRY UND CLIENT 1038 12.2.2 WIE DIE STELLVERTRETER DIE DATEN UEBERTRAGEN 1038 12.2.3 PROBLEME MIT ENTFERNTEN METHODEN 1039 12.2.4 NUTZEN VON RMI BEI MIDDLEWARE-LOESUNGEN 1040 12.2.5 ZENTRALE KLASSEN UND SCHNITTSTELLEN 1041 12.2.6 ENTFERNTE UND LOKALE OBJEKTE IM VERGLEICH 1042 12.3 AUF DER SERVERSEITE 1042 12.3.1 ENTFERNTE SCHNITTSTELLE DEKLARIEREN 1042 12.3.2 REMOTE-OBJEKT-IMPLEMENTIERUNG 1043 24 IMAGE 22 12.3.3 STELLVERTRETEROBJEKTE 1044 12.3.4 DER NAMENSDIENST (REGISTRY) 1045 12.3.5 REMOTE-OBJEKT-IMPLEMENTIERUNG EXPORTIEREN UND BEIM NAMENSDIENST ANMELDEN 1047 12.3.6 EINFACHES LOGGING 1049 12.3.7 AUFRAEUMEN MIT DEM DGC * 1050 12.4 AUF DER CLIENTSEITE 1051 12.5 ENTFERNTE OBJEKTE UEBERGEBEN UND LADEN 1052 12.5.1 KLASSEN VOM RMI-KLASSENLADER NACHLADEN 1052 12.6 WEITERE EIGENSCHAFTEN VON RMI 1053 12.6.1 RMI UND CORBA 1053 12.6.2 RMI UEBER HTTP GETUNNELT 1054 12.6.3 AUTOMATISCHE REMOTE-OBJEKT-AKTIVIERUNG 1054 12.7 JAVA MESSAGE SERVICE (JMS) 1055 12.8 ZUM WEITERLESEN 1055 13 RESTFUI UND SOAP WEB-SERVICES 13.1 WEB-SERVICES 1057 13.2 RESTFUI WEB-SERVICES 1059 13.2.1 AUS PRINZIP REST 1059 13.2.2 JERSEY 1060 13.2.3 JAX-RS-ANNOTATIONEN FUER DEN ERSTEN REST-SERVICE 1061 13.2.4 TEST-SERVER STARTEN 1062 13.2.5 REST-SERVICES KONSUMIEREN 1063 13.2.6 CONTENT-HANDER, MARSHALLER UND VERSCHIEDENE MIME-TYPEN 1064 13.2.7 REST-PARAMETER 1067 13.2.8 REST-SERVICES MIT PARAMETERN UEBER DIE JERSEY-CLIENT-API AUFRUFEN 1069 13.2.9 PUT-ANFORDERUNGEN UND DAS SENDEN VON DATEN 1070 13.2.10 PUT/POST/DELETE-SENDUNGEN MIT DER JERSEY-CLIENT-API ABSETZEN 1071 13.3 DAILY SOAP UND DAS SOAP-PROTOKOLL 1071 13.3.1 DIE TECHNISCHE REALISIERUNG 1072 13.3.2 WEB-SERVICE-APIS UND IMPLEMENTIERUNGEN 1072 13.3.3 @WEBSERVICE IN JAVA 6 1073 13.3.4 EINEN WEB-SERVICE DEFINIEREN 1074 25 IMAGE 23 13.3.5 WEB-SERVICES VEROEFFENTLICHEN 1075 13.3.6 EINEN JAX-WS-CLIENT IMPLEMENTIEREN 1076 13.4 ZUM WEITERLESEN 1078 14 JAVASERVER PAGES UND SERVLETS 14.1 DYNAMISCH GENERIERTE WEBSEITEN 1079 14.1.1 WAS SIND SERVLETS? 1080 14.1.2 WAS SIND JAVASERVER PAGES? 1081 14.2 SERVLETS UND JSPS MIT TOMCAT ENTWICKELN 1082 14.2.1 SERVLET-CONTAINER 1082 14.2.2 ENTWICKLUNG DER SERVLET/JSP-SPEZIFIKATIONEN 1083 14.2.3 WEBSERVER MIT SERVLET-FUNKTIONALITAET 1083 14.2.4 TOMCAT INSTALLIEREN 1084 14.2.5 ABLAGEORT FUER EIGENE JSPS 1086 14.2.6 WEBAPPLIKATIONEN 1087 14.2.7 ZUORDNUNG VON WEBAPPLIKATIONEN ZU PHYSIKALISCHEN VERZEICHNISSEN . 1088 14.2.8 WEB-PROJEKT MIT ECLIPSE IDE FOR JAVA EE DEVELOPERS 1088 14.3 STATISCHES UND DYNAMISCHES 1090 14.3.1 STATISCHER TEMPLATE-CODE 1090 14.3.2 DYNAMISCHE INHALTE 1090 14.3.3 KOMMENTARE 1091 14.4 DIE EXPRESSION LANGUAGE (EL) 1091 14.4.1 OPERATOREN DER EL 1092 14.4.2 LITERALE 1092 14.4.3 IMPLIZITE EL-OBJEKTE 1093 14.5 FORMULARDATEN 1094 14.5.1 EINEN PARAMETER AUSLESEN 1094 14.5.2 HTML-FORMULARE 1095 14.6 AUF BEANS ZURUECKGREIFEN 1096 14.6.1 BEANS IN JSPS ANLEGEN 1097 14.6.2 PROPERTIES EINER BEAN IM EL-AUSDRUCK ERFRAGEN 1097 14.6.3 PROPERTIES MIT JSP:SETPROPERTY SETZEN 1097 14.6.4 BEAN-KLASSE ZUM TESTEN VON E-MAIL-ADRESSEN 1098 14.6.5 PARAMETERWERTE IN BEAN UEBERTRAGEN 1100 26 IMAGE 24 14.7 JSP-TAG-LIBRARIES 1101 14.7.1 STANDARD TAG LIBRARY (JSTL) 1101 14.8 SKRIPTING-ELEMENTE IN JSPS 1105 14.8.1 SCRIPTLETS 1106 14.8.2 JSP-AUSDRUECKE 1106 14.8.3 JSP-DEKLARATIONEN 1107 14.8.4 QUOTING 1107 14.8.5 ENTSPRECHENDE XML-TAGS 1108 14.8.6 IMPLIZITE OBJEKTE FUER SCRIPTLETS UND JSP-AUSDRUECKE 1108 14.9 SITZUNGSVERFOLGUNG (SESSION TRACKING) 1109 14.9.1 LOESUNGEN FUER DIE SITZUNGSVERFOLGUNG 1109 14.9.2 SITZUNGEN IN JSPS 1110 14.9.3 AUF SESSION-DATEIEN ZURUECKGREIFEN 1111 14.10 SERVLETS 1111 14.10.1 SERVLETS COMPILIEREN 1115 14.10.2 SERVLET-MAPPING 1116 14.10.3 DER LEBENSZYKLUS EINES SERVLETS 1117 14.10.4 MEHRERE ANFRAGEN BEIM SERVLET UND DIE THREAD-SICHERHEIT 1118 14.10.5 SERVLETS UND SESSIONS 1118 14.10.6 WEITERLEITEN UND EINBINDEN VON SERVLET-INHALTEN 1119 14.11 ZUM WEITERLESEN 1120 15 APPLETS 15.1 APPLETS IN DER WIEGE VON JAVA 1123 15.1.1 APPLETS HEUTE 1123 15.1.2 (J)APPLET UND APPLIKATIONEN 1124 15.1.3 DAS ERSTE HALLO-APPLET 1125 15.2 DIE APPLET-API 1127 15.2.1 DIE ZYKLEN EINES APPLETS 1127 15.2.2 PARAMETER AN DAS APPLET UEBERGEBEN 1127 15.2.3 WIE DAS APPLET DEN BROWSER-INHALT AENDERN KANN * 1129 15.2.4 DEN URSPRUNG DES APPLETS ERFRAGEN 1130 15.2.5 DATENAUSTAUSCH ZWISCHEN APPLETS * 1131 15.2.6 WAS EIN APPLET ALLES DARF * 1134 27 IMAGE 25 15.2.7 IST JAVA IM BROWSER AKTIVIERT? * 1135 15.2.8 APPLET UNTER FIREFOX (NETSCAPE) ODER MICROSOFT INTERNET EXPLORER? * 1135 15.3 WEBSTART 1137 15.4 ZUM WEITERLESEN 1137 16 DATENBANKMANAGEMENT MIT JDBC 16.1 RELATIONALE DATENBANKEN 1139 16.1.1 DAS RELATIONALE MODELL 1139 16.2 DATENBANKEN UND TOOLS 1140 16.2.1 HSQLDB 1141 16.2.2 WEITERE DATENBANKEN * 1142 16.2.3 ECLIPSE-PLUGINS ZUM DURCHSCHAUEN VON DATENBANKEN 1145 16.3 JDBC UND DATENBANKTREIBER 1148 16.3.1 TREIBERTYPEN* 1149 16.3.2 JDBC-VERSIONEN * 1151 16.4 EINE BEISPIELABFRAGE 1152 16.4.1 SCHRITTE ZUR DATENBANKABFRAGE 1152 16.4.2 EIN CLIENT FUER DIE HSQLDB-DATENBANK 1153 16.4.3 DATENBANKBROWSER UND EINE BEISPIELABFRAGE UNTER NETBEANS 1155 16.5 MIT JAVA AN EINE DATENBANK ANDOCKEN 1159 16.5.1 DER TREIBER-MANAGER * 1160 16.5.2 DEN TREIBER LADEN 1160 16.5.3 EINE AUFZAEHLUNG ALLER TREIBER * 1162 16.5.4 LOG-INFORMATIONEN* 1162 16.5.5 VERBINDUNG ZUR DATENBANK AUF- UND ABBAUEN 1163 16.6 DATENBANKABFRAGEN 1167 16.6.1 ABFRAGEN UEBER DAS STATEMENT-OBJEKT 1168 16.6.2 ERGEBNISSE EINER ABFRAGE IN RESULTSET 1169 16.6.3 JAVA UND SQL-DATENTYPEN 1170 16.6.4 DATE, TIME UND TIMESTAMP 1173 16.6.5 UNICODE IN DER SPALTE KORREKT AUSLESEN 1175 16.6.6 EINE SQL-NULL UND WASNULL() BEI RESULTSET 1175 16.6.7 WIE VIELE ZEILEN HAT EIN RESULTSET? * 1176 28 IMAGE 26 16.7 ELEMENTE EINER DATENBANK HINZUFUEGEN UND AKTUALISIEREN 1176 16.7.1 BATCH-UPDATES 1177 16.7.2 DIE AUSNAHMEN BEI JDBC, SQLEXCEPTION UND UNTERKLASSEN 1179 16.8 RESULTSET UND ROWSET * 1182 16.8.1 DIE SCHNITTSTELLE ROWSET 1182 16.8.2 IMPLEMENTIERUNGEN VON ROWSET 1182 16.8.3 DER TYP CACHEDROWSET 1183 16.8.4 DER TYP WEBROWSET 1184 16.9 VORBEREITETE ANWEISUNGEN (PREPARED STATEMENTS) 1187 16.9.1 PREPAREDSTATEMENT-OBJEKTE VORBEREITEN 1187 16.9.2 WERTE FUER DIE PLATZHALTER EINES PREPAREDSTATEMENT 1189 16.10 TRANSAKTIONEN 1190 16.11 METADATEN* 1190 16.11.1 METADATEN UEBER DIE TABELLE 1190 16.11.2 INFORMATIONEN UEBER DIE DATENBANK 1194 16.12 VORBEREITETE DATENBANKVERBINDUNGEN 1195 16.12.1 DATASOURCE 1195 16.12.2 GEPOOLTE VERBINDUNGEN 1198 16.13 JPA-BEISPIEL MIT DER NETBEANS-IDE 1199 16.13.1 ENTITY-BEANS GENERIEREN 1199 16.13.2 DIE QUELLEN IM UEBERBLICK 1201 16.13.3 PERSISTENCE UNIT 1203 16.13.4 EIN JPA-BEISPIELPROGRAMM 1204 16.14 ZUM WEITERLESEN 1205 17 TECHNOLOGIEN FUER DIE INFRASTRUKTUR 17.1 PROPERTY-VALIDIERUNG DURCH BEAN VALIDATION 1207 17.1.1 TECHNISCHE ABHAENGIGKEITEN UND POJOS 1218 17.2 WIE EINE IMPLEMENTIERUNG AN DIE RICHTIGE STELLE KOMMT 1220 17.2.1 ARBEITEN MIT DEM SERVICELOADER 1221 17.2.2 DIE UTILITY-KLASSE LOOKUP ALS SERVICELOADER-FASSADE 1223 17.2.3 CONTEXTS AND DEPENDENCY INJECTION (CDI) AUS DEM JSR-299 1224 17.3 ZUM WEITERLESEN 1226 29 IMAGE 27 18 REFLECTION UND ANNOTATIONEN 18.1 METADATEN 1227 18.1.1 METADATEN DURCH JAVADOC-TAGS 1227 18.2 METADATEN DER KLASSEN MIT DEM CLASS-OBJEKT 1228 18.2.1 AN EIN CLASS-OBJEKT KOMMEN 1228 18.2.2 WAS DAS CLASS-OBJEKT BESCHREIBT * 1231 18.2.3 DER NAME DER KLASSE 1233 18.2.4 INSTANCEOF MIT CLASS-OBJEKTEN * 1235 18.2.5 OBERKLASSEN FINDEN * 1236 18.2.6 IMPLEMENTIERTE INTERFACES EINER KLASSE ODER EINES INTERFACES * 1237 18.2.7 MODIFIZIERER UND DIE KLASSE MODIFIER * 1238 18.2.8 DIE ARBEIT AUF DEM FELD * 1240 18.3 ATTRIBUTE, METHODEN UND KONSTRUKTOREN 1241 18.3.1 REFLECTIONS - GESPUER FUER DIE ATTRIBUTE EINER KLASSE 1243 18.3.2 METHODEN EINER KLASSE ERFRAGEN 1246 18.3.3 PROPERTIES EINER BEAN ERFRAGEN 1250 18.3.4 KONSTRUKTOREN EINER KLASSE 1250 18.3.5 ANNOTATIONEN 1253 18.4 OBJEKTE ERZEUGEN UND MANIPULIEREN 1253 18.4.1 OBJEKTE ERZEUGEN 1253 18.4.2 DIE BELEGUNG DER VARIABLEN ERFRAGEN 1255 18.4.3 EINE GENERISCHE EIGENE TOSTRING()-METHODE * 1257 18.4.4 VARIABLEN SETZEN 1260 18.4.5 BEAN-ZUSTAENDE KOPIEREN * 1262 18.4.6 PRIVATE ATTRIBUTE AENDERN 1262 18.4.7 METHODEN AUFRUFEN 1263 18.4.8 STATISCHE METHODEN AUFRUFEN 1265 18.4.9 DYNAMISCHE METHODENAUFRUFE BEI FESTEN METHODEN BESCHLEUNIGEN *. 1266 18.5 EIGENE ANNOTATIONSTYPEN * 1268 18.5.1 ANNOTATIONEN ZUM LADEN VON RESSOURCEN 1268 18.5.2 NEUE ANNOTATIONEN DEKLARIEREN 1269 18.5.3 ANNOTATIONEN MIT GENAU EINEM ATTRIBUT 1270 18.5.4 ELEMENT-WERTE-PAARE (ATTRIBUTE) HINZUFUEGEN 1271 18.5.5 ANNOTATIONSATTRIBUTE VOM TYP EINER AUFZAEHLUNG 1272 30 IMAGE 28 18.5.6 FELDER VON ANNOTATIONSATTRIBUTEN 1273 18.5.7 VORBELEGTE ATTRIBUTE 1274 18.5.8 L ANNOTIEREN VON ANNOTATIONSTYPEN 1276 18.5.9 DEKLARATIONEN FUER UNSERE RESSOURCEN-ANNOTATIONEN 1280 18.5.10 ANNOTIERTE ELEMENTE AUSLESEN 1282 18.5.11 AUF DIE ANNOTATIONSATTRIBUTE ZUGREIFEN 1283 18.5.12 KOMPLETTBEISPIEL ZUM INITIALISIEREN VON RESSOURCEN 1284 18.5.13 MOEGLICHE NACHTEILE VON ANNOTATIONEN 1287 18.6 ZUM WEITERLESEN 1288 19 DYNAMISCHE UEBERSETZUNG UND SKRIPTSPRACHEN 19.1 CODEGENERIERUNG 1290 19.1.1 GENERIERUNG VON JAVA-QUELLCODE 1291 19.1.2 CODETRANSFORMATIONEN 1294 19.1.3 ERSTELLEN VON JAVA-BYTECODE 1294 19.2 PROGRAMME MIT DER COMPILER API UEBERSETZEN 1295 19.2.1 JAVA COMPILER API 1295 19.2.2 FEHLER-DIAGNOSE 1298 19.2.3 EINE IM STRING ANGEGEBENE COMPILIATIONSEINHEIT UEBERSETZEN 1300 19.2.4 WENN QUELLE UND ZIEL DER SPEICHER SIND 1302 19.3 AUSFUEHREN VON SKRIPTEN 1306 19.3.1 JAVASCRIPT-PROGRAMME AUSFUEHREN 1306 19.3.2 GROOVY 1308 19.4 ZUM WEITERLESEN .* 1314 20 LOGGING UND MONITORING 20.1 LOGGING MIT JAVA 1315 20.1.1 LOGGING-APIS 1315 20.1.2 LOGGING MIT JAVA.UTIL.LOGGING 1316 20.1.3 LOGGING MIT IOG4J * 1320 20.1.4 DIE SIMPLE LOGGING FACADE 1323 20.2 SYSTEMZUSTAENDE UEBERWACHEN 1324 31 IMAGE 29 20.3 MBEAN-TYPEN, MBEAN-SERVER UND WEITERE BEGRIFFE 1325 20.3.1 MXBEANS DES SYSTEMS 1325 20.4 GESCHWAETZIGE PROGRAMME UND JCONSOLE 1328 20.4.1 JCONSOLE 1328 20.5 DER MBEANSERVER 1330 20.6 EINE EIGENE STANDARD-MBEAN 1331 20.6.1 MANAGEMENT-SCHNITTSTELLE 1332 20.6.2 IMPLEMENTIERUNG DER MANAGED-RESSOURCE 1332 20.6.3 ANMELDUNG BEIM SERVER 1333 20.6.4 EINE EIGENE BEAN IN JCONSOLE EINBRINGEN 1333 20.7 ZUM WEITERLESEN 1336 21 JAVA NATIVE INTERFACE (JNI) 21.1 JAVA NATIVE INTERFACE UND INVOCATION-API 1337 21.2 EINE C-FUNKTION IN EIN JAVA-PROGRAMM EINBINDEN 1338 21.2.1 DEN JAVA-CODE SCHREIBEN 1338 21.3 DYNAMISCHE BIBLIOTHEKEN ERZEUGEN 1340 21.3.1 DIE HEADER-DATEI ERZEUGEN 1340 21.3.2 IMPLEMENTIERUNG DER FUNKTION IN C 1342 21.3.3 DIE C-PROGRAMME UEBERSETZEN UND DIE DYNAMISCHE BIBLIOTHEK UEBERZEUGEN 1343 21.4 NATIV DIE STRINGLAENGE ERMITTELN 1345 21.5 ERWEITERTE JNI-EIGENSCHAFTEN 1347 21.5.1 KLASSENDEFINITIONEN 1347 21.5.2 ZUGRIFF AUF ATTRIBUTE 1348 21.5.3 METHODEN AUFRUFEN 1350 21.5.4 THREADS UND SYNCHRONISATION 1352 21.6 EINFACHE ANBINDUNG VON EXISTIERENDEN BIBLIOTHEKEN 1352 21.6.1 GENERIEREN VON JNI-WRAPPERN AUS C++-KLASSEN UND C-HEADERN 1352 21.6.2 COM-SCHNITTSTELLEN ANZAPFEN 1353 21.7 INVOCATION-API 1353 21.8 ZUM WEITERLESEN 1354 32 IMAGE 30 22 SICHERHEITSKONZEPTE 22.1 ZENTRALE ELEMENTE DER JAVA-SICHERHEIT 1355 22.1.1 SECURITY-API DER JAVA SE 1355 22.1.2 CRYPTOGRAPHIE SERVICE PROVIDERS 1356 22.2 DER SANDKASTEN (SANDBOX) 1357 22.3 SICHERHEITSMANAGER (SECURITY MANAGER) 1358 22.3.1 DER SICHERHEITSMANAGER BEI APPLETS 1359 22.3.2 SICHERHEITSMANAGER AKTIVIEREN 1361 22.3.3 RECHTE DURCH POLICY-DATEIEN VERGEBEN 1363 22.3.4 ERSTELLEN VON RECHTEDATEIEN MIT DEM GRAFISCHEN POLICY-TOOL 1365 22.3.5 KRITIK AN DEN POLICIES 1366 22.4 SIGNIERUNG 1368 22.4.1 WARUM SIGNIEREN? 1368 22.4.2 DIGITALE AUSWEISE UND DIE ZERTIFIZIERUNGSSTELLE 1368 22.4.3 MIT KEYTOOL SCHLUESSEL ERZEUGEN 1369 22.4.4 SIGNIEREN MIT JARSIGNER 1370 22.5 DIGITALE UNTERSCHRIFTEN * 1371 22.5.1 DIEMDX-REIHE 1371 22.5.2 SECURE HASH ALGORITHM (SHA) 1372 22.5.3 MIT DER SECURITY-API EINEN FINGERABDRUCK BERECHNEN 1372 22.5.4 DIE KLASSE MESSAGEDIGEST 1373 22.6 VERSCHLUESSELN VON DATEN(-STROEMEN) * 1375 22.6.1 DEN SCHLUESSEL, BITTE 1375 22.6.2 VERSCHLUESSELN MIT CIPHER 1377 22.6.3 VERSCHLUESSELN VON DATENSTROEMEN 1377 22.7 ZUM WEITERLESEN 1379 23 DIENSTPROGRAMME FUER DIE JAVA-UMGEBUNG 23.1 PROGRAMME DES JDK 1381 23.2 MONITORINGPROGRAMME VOM JDK 1381 23.2.1 JPS 1381 23.2.2 JSTAT 1382 23.2.3 JMAP 1382 33 IMAGE 31 23.2.4 JSTACK 1383 23.2.5 VISUALVM 1385 23.3 PROGRAMMIEREN MIT DER TOOLS-API 1390 23.3.1 EIGENE DOCLETS 1390 23.4 ANT 1393 23.4.1 BEZUG UND INSTALLATION VON ANT 1393 23.4.2 DAS BUILD-SKRIPT BUILD.XML 1394 23.4.3 BUILD DEN BUILD 1394 23.4.4 PROPERTIES 1395 23.4.5 EXTERNE UND VORDEFINIERTE PROPERTIES 1396 23.4.6 WEITERE ANT-TASKS 1397 23.5 DISASSEMBLER, DECOMPILER UND OBFUSCATOR 1398 23.5.1 DER DIASSEMBIER JAVAP 1399 23.5.2 DECOMPILER 1404 23.5.3 OBFUSCATOREN 1406 23.6 WEITERE DIENSTPROGRAMME 1408 23.6.1 SOURCECODE BEAUTIFIER 1408 23.6.2 JAVA-PROGRAMME ALS SYSTEMDIENST AUSFUEHREN 1409 23.7 ZUM WEITERLESEN 1410 INDEX 1411
any_adam_object 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 BV039550206
classification_rvk ST 250
classification_tum DAT 362f
collection ebook
ctrlnum (OCoLC)750966170
(DE-599)DNB1013798112
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
edition 1. Aufl.
format Book
fullrecord <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV039550206</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20221108</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">110829s2012 gw ad|| |||| 00||| ger d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1013798112</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836215077</subfield><subfield code="9">978-3-8362-1507-7</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3836215071</subfield><subfield code="9">3-8362-1507-1</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)750966170</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1013798112</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-M347</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-91</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-1046</subfield><subfield code="a">DE-384</subfield><subfield code="a">DE-863</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-M382</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-862</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">68N15</subfield><subfield code="2">msc</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 7 - mehr als eine Insel</subfield><subfield code="b">das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]</subfield><subfield code="c">Christian Ullenboom</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Java sieben - mehr als eine Insel</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Galileo Pr.</subfield><subfield code="c">2012</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1433 S.</subfield><subfield code="b">Ill., graph. Darst.</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="500" ind1=" " ind2=" "><subfield code="a">2. Aufl. u.d.T.: Ullenboom, Christian: Java SE 8 Standard-Bibliothek</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java Standard Edition 7</subfield><subfield code="0">(DE-588)7751205-4</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 7</subfield><subfield code="0">(DE-588)7751205-4</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="1"><subfield code="u">https://www.heise.de/download/product/java-7-mehr-als-eine-insel-85729/download</subfield><subfield code="x">Verlag</subfield><subfield code="z">kostenfrei</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&amp;doc_library=BVB01&amp;local_base=BVB01&amp;doc_number=024402097&amp;sequence=000001&amp;line_number=0001&amp;func_code=DB_RECORDS&amp;service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ebook</subfield></datafield></record></collection>
id DE-604.BV039550206
illustrated Illustrated
indexdate 2024-11-25T17:37:10Z
institution BVB
isbn 9783836215077
3836215071
language German
oai_aleph_id oai:aleph.bib-bvb.de:BVB01-024402097
oclc_num 750966170
open_access_boolean 1
owner DE-91G
DE-BY-TUM
DE-M347
DE-1051
DE-1050
DE-573
DE-Aug4
DE-20
DE-706
DE-858
DE-634
DE-29T
DE-91
DE-BY-TUM
DE-739
DE-1046
DE-384
DE-863
DE-BY-FWS
DE-B768
DE-473
DE-BY-UBG
DE-M382
DE-83
DE-862
DE-BY-FWS
owner_facet DE-91G
DE-BY-TUM
DE-M347
DE-1051
DE-1050
DE-573
DE-Aug4
DE-20
DE-706
DE-858
DE-634
DE-29T
DE-91
DE-BY-TUM
DE-739
DE-1046
DE-384
DE-863
DE-BY-FWS
DE-B768
DE-473
DE-BY-UBG
DE-M382
DE-83
DE-862
DE-BY-FWS
physical 1433 S. Ill., graph. Darst.
psigel ebook
publishDate 2012
publishDateSearch 2012
publishDateSort 2012
publisher Galileo Pr.
record_format marc
series2 Galileo Computing
spellingShingle Ullenboom, Christian
Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]
Java Standard Edition 7 (DE-588)7751205-4 gnd
subject_GND (DE-588)7751205-4
title Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]
title_alt Java sieben - mehr als eine Insel
title_auth Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]
title_exact_search Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]
title_full Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.] Christian Ullenboom
title_fullStr Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.] Christian Ullenboom
title_full_unstemmed Java 7 - mehr als eine Insel das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.] Christian Ullenboom
title_short Java 7 - mehr als eine Insel
title_sort java 7 mehr als eine insel das handbuch zu den java se bibliotheken nebenlaufigkeit datenstrukturen und algorithmen ein ausgabe xml swing grafik und netzwerkprogrammierung rmi javaserver pages und servlets jdbc reflection u v m
title_sub das Handbuch zu den Java SE-Bibliotheken ; [Nebenläufigkeit, Datenstrukturen und Algorithmen, Ein/Ausgabe, XML, Swing, Grafik- und Netzwerkprogrammierung, RMI, JavaServer Pages und Servlets, JDBC, Reflection u.v.m.]
topic Java Standard Edition 7 (DE-588)7751205-4 gnd
topic_facet Java Standard Edition 7
url https://www.heise.de/download/product/java-7-mehr-als-eine-insel-85729/download
http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024402097&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA
work_keys_str_mv AT ullenboomchristian java7mehralseineinseldashandbuchzudenjavasebibliothekennebenlaufigkeitdatenstrukturenundalgorithmeneinausgabexmlswinggrafikundnetzwerkprogrammierungrmijavaserverpagesundservletsjdbcreflectionuvm
AT ullenboomchristian javasiebenmehralseineinsel