
Java SE 8 Standard-Bibliothek
Das Handbuch für Entwickler. Die 2. Insel, aktuell zu Java 8.
Christian Ullenboom(Author)
Rheinwerk (Publisher)
2nd Edition
Published on 27. June 2014
Book
Hardback
1448 pages
978-3-8362-2874-9 (ISBN)
Article exhausted; check for reprint
Description
Java 8 ist da und viele Themen neu dabei!
Ganz frisch an Bord sind: Stream-API, Date-time-API, noch mehr JavaFX und JUnit und Testen.
Alte Hasen sind fehlerbereinigt und auf den neuesten Stand gebracht, wie Swing, XML, RMI und Webservices, JSP, Servlets, Applets, JDBC, Reflection und Annotationen oder Logging und Monitoring.
Dieses Handbuch gehört an jeden Arbeitsplatz eines Java-Entwicklers. Zum Lernen und Nachschlagen bei allen Fragen rund um Bibliotheken und Technologien von Java.
Aus dem Inhalt:
- Neues in Java 8
- Threads und nebenläufige Programmierung
- Datenstrukturen und Algorithmen
- Raum und Zeit
- Dateien, Verzeichnisse und Dateizugriffe
- Datenströme
- eXtensible Markup Language
- Grafische Oberflächen mit Swing
- Grafik- und Netzwerkprogrammierung
- Verteilte Programmierung mit RMI
- JavaServer Pages und Servlets
- Datenbankmanagement mit JDBC
- Reflection und Annotationen
- Logging und Monitoring
Galileo Press heißt jetzt Rheinwerk Verlag.
Ganz frisch an Bord sind: Stream-API, Date-time-API, noch mehr JavaFX und JUnit und Testen.
Alte Hasen sind fehlerbereinigt und auf den neuesten Stand gebracht, wie Swing, XML, RMI und Webservices, JSP, Servlets, Applets, JDBC, Reflection und Annotationen oder Logging und Monitoring.
Dieses Handbuch gehört an jeden Arbeitsplatz eines Java-Entwicklers. Zum Lernen und Nachschlagen bei allen Fragen rund um Bibliotheken und Technologien von Java.
Aus dem Inhalt:
- Neues in Java 8
- Threads und nebenläufige Programmierung
- Datenstrukturen und Algorithmen
- Raum und Zeit
- Dateien, Verzeichnisse und Dateizugriffe
- Datenströme
- eXtensible Markup Language
- Grafische Oberflächen mit Swing
- Grafik- und Netzwerkprogrammierung
- Verteilte Programmierung mit RMI
- JavaServer Pages und Servlets
- Datenbankmanagement mit JDBC
- Reflection und Annotationen
- Logging und Monitoring
Galileo Press heißt jetzt Rheinwerk Verlag.
Reviews / Votes
Ein wichtiges Java-Standardwerk, das man einfach haben sollte! Der Schreibstil ist fantastisch. Der Autor hat ein sehr großes Talent, komplexe Themen übersichtlich und einfach darzustellen. Wer schnell einen Überblick über ein Java-Thema bekommen möchte, dem helfen die gut gewählten Beispiele und kompetenten Erklärungen gut weiter. Wer sich auch nur ansatzweise mit dem Thema beschäftigt, kommt um das Handbuch von Ullenboom nicht herum.More details
Series
Language
German
Place of publication
Bonn
Germany
Edition type
Enlarged edition
Dimensions
Height: 24 cm
Width: 19 cm
ISBN-13
978-3-8362-2874-9 (9783836228749)
Schweitzer Classification
Other editions
New editions

Book
12/2017
3rd Edition
Rheinwerk
€49.90
Available immediately
Previous edition

Book
10/2011
1st Edition
Galileo Computing
€49.90
Article exhausted; check for reprint
Person
Author
Christian Ullenboom, Dipl.-Informatiker, ist Sun-zertifizierter Java Programmierer und seit 1997 Trainer und Berater für Java-Technologien und objektorientierte Analyse und Design. Seit Jahren teilt er sein Wissen mit unzähligen Besuchern seiner Website, wo er Fragen beantwortet, Inhalte bereitstellt und diskutiert. Seine Sympathie gilt Java Performance Tuning und den sinnlichen Freuden des Lebens.
Content
Vorwort. 35
1. Neues in Java 8 und Java 7. 43
1.1. Sprachänderungen in Java 8. 43
1.2. Lambda-Ausdrücke und funktionale Programmierung. 59
1.3. Bibliotheksänderungen in Java 8. 117
1.4. JDK 8-HotSpot-JVM-Änderungen. 117
1.5. Auf Java 7/8-Syntax mit NetBeans und Eclipse migrieren. 117
1.6. Zum Weiterlesen. 120
2. Fortgeschrittene String-Verarbeitung. 121
2.1. Erweitere Zeicheneigenschaften. 121
2.2. Reguläre Ausdrücke. 123
2.3. Zerlegen von Zeichenketten. 140
2.4. Zeichenkodierungen, XML/HTML-Entities, Base64 *. 154
2.5. Ausgaben formatieren. 159
2.6. Sprachabhängiges Vergleichen und Normalisierung *. 170
2.7. Phonetische Vergleiche *. 175
2.8. Zum Weiterlesen. 176
3. Threads und nebenläufige Programmierung. 177
3.1. Threads erzeugen. 177
3.2. Thread-Eigenschaften und -Zustände. 182
3.3. Der Ausführer (Executor) kommt. 197
3.4. Synchronisation über kritische Abschnitte. 206
3.5. Synchronisation über Warten und Benachrichtigen. 229
3.6. Datensynchronisation durch besondere Concurrency-Klassen *. 240
3.7. Atomare Operationen und frische Werte mit volatile *. 246
3.8. Teile und herrsche mit Fork und Join *. 250
3.9. CompletionStage und CompletableFuture *. 256
3.10. Mit dem Thread verbundene Variablen *. 257
3.11. Threads in einer Thread-Gruppe *. 263
3.12. Zeitgesteuerte Abläufe. 270
3.13. Einen Abbruch der virtuellen Maschine erkennen. 273
3.14. Zum Weiterlesen. 274
4. Datenstrukturen und Algorithmen. 275
4.1. Datenstrukturen und die Collection-API. 275
4.2. Listen. 287
4.3. Mengen (Sets). 305
4.4. Queues (Schlangen) und Deques. 314
4.5. Stack (Kellerspeicher, Stapel). 323
4.6. Assoziative Speicher. 325
4.7. Mit einem Iterator durch die Daten wandern. 348
4.8. Iterator-Schnittstelle. 348
4.9. Algorithmen in Collections. 358
4.10. Datenstrukturen mit Änderungsmeldungen. 379
4.11. Stream-API. 389
4.12. Spezielle threadsichere Datenstrukturen. 423
4.13. Google Guava (Google Collections Library). 432
4.14. Die Klasse BitSet für Bitmengen *. 437
4.15. Zum Weiterlesen. 442
5. Raum und Zeit. 443
5.1. Weltzeit *. 443
5.2. Wichtige Datum-Klassen im Überblick. 444
5.3. Sprachen der Länder. 446
5.4. Internationalisierung und Lokalisierung. 449
5.5. Die Klasse Date. 455
5.6. Calendar und GregorianCalendar. 457
5.7. Zeitzonen in Java *. 470
5.8. Formatieren und Parsen von Datumsangaben. 474
5.9. Date-Time-API in Java 8. 483
5.10. Die Default-Falle. 506
5.11. Zum Weiterlesen. 507
6. Dateien, Verzeichnisse und Dateizugriffe. 509
6.1. Alte und neue Welt in java.io und java.nio. 509
6.2. Dateisysteme und Pfade. 510
6.3. Datei- und Verzeichnis-Operationen mit der Klasse File. 545
6.4. Dateien mit wahlfreiem Zugriff. 563
6.5. Wahlfreier Zugriff mit SeekableByteChannel und ByteBuffer *. 569
6.6. Zum Weiterlesen. 572
7. Datenströme. 573
7.1. Stream-Klassen für Bytes und Zeichen. 573
7.2. Basisklassen für die Ein-/Ausgabe. 581
7.3. Formatierte Textausgaben. 594
7.4. Die FileXXX-Stromklassen. 602
7.5. Schreiben und Lesen aus Strings und Byte-Feldern. 609
7.6. Datenströme filtern und verketten. 614
7.7. Vermittler zwischen Byte-Streams und Unicode-Strömen. 633
7.8. Kommunikation zwischen Threads mit Pipes *. 636
7.9. Prüfsummen. 640
7.10. Persistente Objekte und Serialisierung. 643
7.11. Alternative Datenaustauschformate. 661
7.12. Zum Weiterlesen. 664
8. Die eXtensible Markup Language (XML). 665
8.1. Auszeichnungssprachen. 665
8.2. Eigenschaften von XML-Dokumenten. 666
8.3. Die Java-APIs für XML. 677
8.4. Java Architecture for XML Binding (JAXB). 680
8.5. Serielle Verarbeitung mit StAX. 704
8.6. Serielle Verarbeitung von XML mit SAX *. 716
8.7. XML-Dateien mit JDOM verarbeiten. 721
8.8. Transformationen mit XSLT *. 742
8.9. XML-Schema-Validierung *. 745
8.10. Zum Weiterlesen. 747
9. Dateiformate. 749
9.1. Einfache Dateiformate für strukturierte Daten. 750
9.2. Dokumentenformate. 755
9.3. Datenkompression *. 759
9.4. Bildformate. 772
9.5. Audiodateien. 773
10. Grafische Oberflächen mit Swing. 777
10.1. AWT, JavaFoundation Classes und Swing. 777
10.2. Mit NetBeans zur ersten Swing-Oberfläche. 782
10.3. Aller Swing-Anfang -- Fenster zur Welt. 793
10.4. Beschriftungen (JLabel). 800
10.5. Icon und ImageIcon für Bilder auf Swing-Komponenten. 804
10.6. Es tut sich was -- Ereignisse beim AWT. 806
10.7. Schaltflächen. 819
10.8. Textkomponenten. 825
10.9. Swing Action *. 836
10.10. JComponent und Component als Basis aller Komponenten. 838
10.11. Container. 852
10.12. Alles Auslegungssache -- die Layoutmanager. 855
10.13. Rollbalken und Schieberegler. 870
10.14. Kontrollfelder, Optionsfelder, Kontrollfeldgruppen. 875
10.15. Fortschritte bei Operationen überwachen *. 881
10.16. Menüs und Symbolleisten. 883
10.17. Das Model-View-Controller-Konzept. 899
10.18. Auswahlmenüs, Listen und Spinner. 901
10.19. Tabellen (JTable). 915
10.20. Bäume (JTree). 929
10.21. JRootPane und JDesktopPane *. 934
10.22. Dialoge und Window-Objekte. 937
10.23. Flexibles Java-Look-and-Feel. 947
10.24. Swing-Komponenten neu erstellen oder verändern *. 951
10.25. Die Zwischenablage (Clipboard). 953
10.26. Undo durchführen *. 958
10.27. AWT, Swing und die Threads. 960
10.28. Barrierefreiheit mit der Java Accessibility API. 968
10.29. Zeitliches Ausführen mit dem javax.swing.Timer. 969
10.30. Die Zusatzkomponentenbibliothek SwingX. 970
10.31. Zum Weiterlesen. 973
11. Grafikprogrammierung. 975
11.1. Grundlegendes zum Zeichnen. 975
11.2. Einfache Zeichenmethoden. 981
11.3. Zeichenketten schreiben und Fonts. 985
11.4. Geometrische Objekte. 990
11.5. Das Innere und Äußere einer Form. 993
11.6. Bilder. 1000
11.7. Weitere Eigenschaften von Graphics *. 1013
11.8. Drucken *. 1021
11.9. Benutzerinteraktionen automatisieren, Robot und Screenshots *. 1024
11.10. Zum Weiterlesen. 1030
12. JavaFX. 1031
12.1. Das erste Programm mit JavaFX. 1031
12.2. Zentrale Typen in JavaFX. 1034
12.3. JavaFX-Komponenten und Layout-Container-Klassen. 1036
12.4. Webbrowser. 1040
12.5. Geometrische Objekte. 1041
12.6. Füllart von Formen. 1054
12.7. Grafiken. 1057
12.8. Deklarative Oberflächen mit FXML. 1062
12.9. Diagramme (Charts). 1065
12.10. Animationen. 1068
12.11. Medien abspielen. 1071
12.12. Das Geometry-Paket *. 1072
12.13. JavaFX-Scene in Swing-Applikationen einbetten. 1073
12.14. Zum Weiterlesen. 1075
13. Netzwerkprogrammierung. 1077
13.1. Grundlegende Begriffe. 1077
13.2. URI und URL. 1078
13.3. Die Klasse URLConnection *. 1084
13.4. Mit GET und POST Daten übergeben *. 1092
13.5. Host- und IP-Adressen. 1095
13.6. Mit dem Socket zum Server. 1100
13.7. Client-Server-Kommunikation. 1107
13.8. Apache HttpComponents und Commons Net *. 1112
13.9. Arbeitsweise eines Webservers *. 1114
13.10. Verbindungen durch einen Proxy-Server *. 1122
13.11. Datagram-Sockets *. 1124
13.12. E-Mail *. 1131
13.13. Tiefer liegende Netzwerkeigenschaften *. 1142
13.14. Zum Weiterlesen. 1143
14. Verteilte Programmierung mit RMI. 1145
14.1. Entfernte Objekte und Methoden. 1145
14.2. Java Remote Method Invocation. 1147
14.3. Auf der Serverseite. 1151
14.4. Auf der Client-Seite. 1159
14.5. Entfernte Objekte übergeben und laden. 1160
14.6. Weitere Eigenschaften von RMI. 1161
14.7. Java Message Service (JMS). 1163
14.8. Zum Weiterlesen. 1163
15. RESTful und SOAP-Web-Services. 1165
15.1. Web-Services. 1165
15.2. RESTful Web-Services. 1166
15.3. Daily Soap und das SOAP-Protokoll. 1177
15.4. Zum Weiterlesen. 1183
16. Technologien für die Infrastruktur. 1185
16.1. Property-Validierung durch Bean Validation. 1185
16.2. Wie eine Implementierung an die richtige Stelle kommt. 1197
16.3. Zum Weiterlesen. 1202
17. Typen, Reflection und Annotationen. 1203
17.1. Metadaten. 1203
17.2. Metadaten der Typen mit dem Class-Objekt. 1204
17.3. Klassenlader. 1207
17.4. Metadaten der Typen mit dem Class-Objekt. 1212
17.5. Attribute, Methoden und Konstruktoren. 1222
17.6. Objekte erzeugen und manipulieren. 1232
17.7. Eigene Annotationstypen *. 1247
17.8. Zum Weiterlesen. 1267
18. Dynamische Übersetzung und Skriptsprachen. 1269
18.1. Codegenerierung. 1270
18.2. Programme mit der Java Compiler API übersetzen. 1274
18.3. Ausführen von Skripten. 1283
18.4. Zum Weiterlesen. 1292
19. Logging und Monitoring. 1293
19.1. Logging mit Java. 1293
19.2. Systemzustände überwachen. 1303
19.3. MBean-Typen, MBean-Server und weitere Begriffe. 1304
19.4. Geschwätzige Programme und JConsole. 1306
19.5. Der MBeanServer. 1308
19.6. Eine eigene Standard-MBean. 1309
19.7. Zum Weiterlesen. 1313
20. Sicherheitskonzepte. 1315
20.1. Zentrale Elemente der Java-Sicherheit. 1315
20.2. Sicherheitsmanager (Security-Manager). 1318
20.3. Signierung. 1326
20.4. Kryptografische Hashfunktion. 1328
20.5. Verschlüsseln von Daten(-strömen) *. 1333
20.6. Zum Weiterlesen. 1336
21. Datenbankmanagement mit JDBC. 1337
21.1. Relationale Datenbanken. 1337
21.2. Datenbanken und Tools. 1338
21.3. JDBC und Datenbanktreiber. 1343
21.4. Eine Beispielabfrage. 1346
21.5. Mit Java an eine Datenbank andocken. 1348
21.6. Datenbankabfragen. 1354
21.7. Elemente einer Datenbank ändern. 1364
21.8. Die Ausnahmen bei JDBC, SQLException und Unterklassen. 1367
21.9. ResultSet und RowSet *. 1370
21.10. Vorbereitete Anweisungen (Prepared Statements). 1375
21.11. Transaktionen. 1377
21.12. Vorbereitete Datenbankverbindungen. 1378
21.13. Zum Weiterlesen. 1382
22. Java Native Interface (JNI). 1383
22.1. Java Native Interface und Invocation-API. 1383
22.2. Eine C-Funktion in ein Java-Programm einbinden. 1384
22.3. Dynamische Bibliotheken erzeugen. 1385
22.4. Nativ die String-Länge ermitteln. 1390
22.5. Erweiterte JNI-Eigenschaften. 1392
22.6. Einfache Anbindung von existierenden Bibliotheken. 1397
22.7. Invocation-API. 1398
22.8. Zum Weiterlesen. 1399
23. Dienstprogramme für die Java-Umgebung. 1401
23.1. Programme des JDK. 1401
23.2. Monitoringprogramme vom JDK. 1401
23.3. Programmieren mit der Tools-API. 1411
23.4. Ant. 1416
23.5. Disassembler, Decompiler und Obfuscator. 1421
23.6. Weitere Dienstprogramme. 1430
23.7. Zum Weiterlesen. 1431
Index. 1433
1. Neues in Java 8 und Java 7. 43
1.1. Sprachänderungen in Java 8. 43
1.2. Lambda-Ausdrücke und funktionale Programmierung. 59
1.3. Bibliotheksänderungen in Java 8. 117
1.4. JDK 8-HotSpot-JVM-Änderungen. 117
1.5. Auf Java 7/8-Syntax mit NetBeans und Eclipse migrieren. 117
1.6. Zum Weiterlesen. 120
2. Fortgeschrittene String-Verarbeitung. 121
2.1. Erweitere Zeicheneigenschaften. 121
2.2. Reguläre Ausdrücke. 123
2.3. Zerlegen von Zeichenketten. 140
2.4. Zeichenkodierungen, XML/HTML-Entities, Base64 *. 154
2.5. Ausgaben formatieren. 159
2.6. Sprachabhängiges Vergleichen und Normalisierung *. 170
2.7. Phonetische Vergleiche *. 175
2.8. Zum Weiterlesen. 176
3. Threads und nebenläufige Programmierung. 177
3.1. Threads erzeugen. 177
3.2. Thread-Eigenschaften und -Zustände. 182
3.3. Der Ausführer (Executor) kommt. 197
3.4. Synchronisation über kritische Abschnitte. 206
3.5. Synchronisation über Warten und Benachrichtigen. 229
3.6. Datensynchronisation durch besondere Concurrency-Klassen *. 240
3.7. Atomare Operationen und frische Werte mit volatile *. 246
3.8. Teile und herrsche mit Fork und Join *. 250
3.9. CompletionStage und CompletableFuture *. 256
3.10. Mit dem Thread verbundene Variablen *. 257
3.11. Threads in einer Thread-Gruppe *. 263
3.12. Zeitgesteuerte Abläufe. 270
3.13. Einen Abbruch der virtuellen Maschine erkennen. 273
3.14. Zum Weiterlesen. 274
4. Datenstrukturen und Algorithmen. 275
4.1. Datenstrukturen und die Collection-API. 275
4.2. Listen. 287
4.3. Mengen (Sets). 305
4.4. Queues (Schlangen) und Deques. 314
4.5. Stack (Kellerspeicher, Stapel). 323
4.6. Assoziative Speicher. 325
4.7. Mit einem Iterator durch die Daten wandern. 348
4.8. Iterator-Schnittstelle. 348
4.9. Algorithmen in Collections. 358
4.10. Datenstrukturen mit Änderungsmeldungen. 379
4.11. Stream-API. 389
4.12. Spezielle threadsichere Datenstrukturen. 423
4.13. Google Guava (Google Collections Library). 432
4.14. Die Klasse BitSet für Bitmengen *. 437
4.15. Zum Weiterlesen. 442
5. Raum und Zeit. 443
5.1. Weltzeit *. 443
5.2. Wichtige Datum-Klassen im Überblick. 444
5.3. Sprachen der Länder. 446
5.4. Internationalisierung und Lokalisierung. 449
5.5. Die Klasse Date. 455
5.6. Calendar und GregorianCalendar. 457
5.7. Zeitzonen in Java *. 470
5.8. Formatieren und Parsen von Datumsangaben. 474
5.9. Date-Time-API in Java 8. 483
5.10. Die Default-Falle. 506
5.11. Zum Weiterlesen. 507
6. Dateien, Verzeichnisse und Dateizugriffe. 509
6.1. Alte und neue Welt in java.io und java.nio. 509
6.2. Dateisysteme und Pfade. 510
6.3. Datei- und Verzeichnis-Operationen mit der Klasse File. 545
6.4. Dateien mit wahlfreiem Zugriff. 563
6.5. Wahlfreier Zugriff mit SeekableByteChannel und ByteBuffer *. 569
6.6. Zum Weiterlesen. 572
7. Datenströme. 573
7.1. Stream-Klassen für Bytes und Zeichen. 573
7.2. Basisklassen für die Ein-/Ausgabe. 581
7.3. Formatierte Textausgaben. 594
7.4. Die FileXXX-Stromklassen. 602
7.5. Schreiben und Lesen aus Strings und Byte-Feldern. 609
7.6. Datenströme filtern und verketten. 614
7.7. Vermittler zwischen Byte-Streams und Unicode-Strömen. 633
7.8. Kommunikation zwischen Threads mit Pipes *. 636
7.9. Prüfsummen. 640
7.10. Persistente Objekte und Serialisierung. 643
7.11. Alternative Datenaustauschformate. 661
7.12. Zum Weiterlesen. 664
8. Die eXtensible Markup Language (XML). 665
8.1. Auszeichnungssprachen. 665
8.2. Eigenschaften von XML-Dokumenten. 666
8.3. Die Java-APIs für XML. 677
8.4. Java Architecture for XML Binding (JAXB). 680
8.5. Serielle Verarbeitung mit StAX. 704
8.6. Serielle Verarbeitung von XML mit SAX *. 716
8.7. XML-Dateien mit JDOM verarbeiten. 721
8.8. Transformationen mit XSLT *. 742
8.9. XML-Schema-Validierung *. 745
8.10. Zum Weiterlesen. 747
9. Dateiformate. 749
9.1. Einfache Dateiformate für strukturierte Daten. 750
9.2. Dokumentenformate. 755
9.3. Datenkompression *. 759
9.4. Bildformate. 772
9.5. Audiodateien. 773
10. Grafische Oberflächen mit Swing. 777
10.1. AWT, JavaFoundation Classes und Swing. 777
10.2. Mit NetBeans zur ersten Swing-Oberfläche. 782
10.3. Aller Swing-Anfang -- Fenster zur Welt. 793
10.4. Beschriftungen (JLabel). 800
10.5. Icon und ImageIcon für Bilder auf Swing-Komponenten. 804
10.6. Es tut sich was -- Ereignisse beim AWT. 806
10.7. Schaltflächen. 819
10.8. Textkomponenten. 825
10.9. Swing Action *. 836
10.10. JComponent und Component als Basis aller Komponenten. 838
10.11. Container. 852
10.12. Alles Auslegungssache -- die Layoutmanager. 855
10.13. Rollbalken und Schieberegler. 870
10.14. Kontrollfelder, Optionsfelder, Kontrollfeldgruppen. 875
10.15. Fortschritte bei Operationen überwachen *. 881
10.16. Menüs und Symbolleisten. 883
10.17. Das Model-View-Controller-Konzept. 899
10.18. Auswahlmenüs, Listen und Spinner. 901
10.19. Tabellen (JTable). 915
10.20. Bäume (JTree). 929
10.21. JRootPane und JDesktopPane *. 934
10.22. Dialoge und Window-Objekte. 937
10.23. Flexibles Java-Look-and-Feel. 947
10.24. Swing-Komponenten neu erstellen oder verändern *. 951
10.25. Die Zwischenablage (Clipboard). 953
10.26. Undo durchführen *. 958
10.27. AWT, Swing und die Threads. 960
10.28. Barrierefreiheit mit der Java Accessibility API. 968
10.29. Zeitliches Ausführen mit dem javax.swing.Timer. 969
10.30. Die Zusatzkomponentenbibliothek SwingX. 970
10.31. Zum Weiterlesen. 973
11. Grafikprogrammierung. 975
11.1. Grundlegendes zum Zeichnen. 975
11.2. Einfache Zeichenmethoden. 981
11.3. Zeichenketten schreiben und Fonts. 985
11.4. Geometrische Objekte. 990
11.5. Das Innere und Äußere einer Form. 993
11.6. Bilder. 1000
11.7. Weitere Eigenschaften von Graphics *. 1013
11.8. Drucken *. 1021
11.9. Benutzerinteraktionen automatisieren, Robot und Screenshots *. 1024
11.10. Zum Weiterlesen. 1030
12. JavaFX. 1031
12.1. Das erste Programm mit JavaFX. 1031
12.2. Zentrale Typen in JavaFX. 1034
12.3. JavaFX-Komponenten und Layout-Container-Klassen. 1036
12.4. Webbrowser. 1040
12.5. Geometrische Objekte. 1041
12.6. Füllart von Formen. 1054
12.7. Grafiken. 1057
12.8. Deklarative Oberflächen mit FXML. 1062
12.9. Diagramme (Charts). 1065
12.10. Animationen. 1068
12.11. Medien abspielen. 1071
12.12. Das Geometry-Paket *. 1072
12.13. JavaFX-Scene in Swing-Applikationen einbetten. 1073
12.14. Zum Weiterlesen. 1075
13. Netzwerkprogrammierung. 1077
13.1. Grundlegende Begriffe. 1077
13.2. URI und URL. 1078
13.3. Die Klasse URLConnection *. 1084
13.4. Mit GET und POST Daten übergeben *. 1092
13.5. Host- und IP-Adressen. 1095
13.6. Mit dem Socket zum Server. 1100
13.7. Client-Server-Kommunikation. 1107
13.8. Apache HttpComponents und Commons Net *. 1112
13.9. Arbeitsweise eines Webservers *. 1114
13.10. Verbindungen durch einen Proxy-Server *. 1122
13.11. Datagram-Sockets *. 1124
13.12. E-Mail *. 1131
13.13. Tiefer liegende Netzwerkeigenschaften *. 1142
13.14. Zum Weiterlesen. 1143
14. Verteilte Programmierung mit RMI. 1145
14.1. Entfernte Objekte und Methoden. 1145
14.2. Java Remote Method Invocation. 1147
14.3. Auf der Serverseite. 1151
14.4. Auf der Client-Seite. 1159
14.5. Entfernte Objekte übergeben und laden. 1160
14.6. Weitere Eigenschaften von RMI. 1161
14.7. Java Message Service (JMS). 1163
14.8. Zum Weiterlesen. 1163
15. RESTful und SOAP-Web-Services. 1165
15.1. Web-Services. 1165
15.2. RESTful Web-Services. 1166
15.3. Daily Soap und das SOAP-Protokoll. 1177
15.4. Zum Weiterlesen. 1183
16. Technologien für die Infrastruktur. 1185
16.1. Property-Validierung durch Bean Validation. 1185
16.2. Wie eine Implementierung an die richtige Stelle kommt. 1197
16.3. Zum Weiterlesen. 1202
17. Typen, Reflection und Annotationen. 1203
17.1. Metadaten. 1203
17.2. Metadaten der Typen mit dem Class-Objekt. 1204
17.3. Klassenlader. 1207
17.4. Metadaten der Typen mit dem Class-Objekt. 1212
17.5. Attribute, Methoden und Konstruktoren. 1222
17.6. Objekte erzeugen und manipulieren. 1232
17.7. Eigene Annotationstypen *. 1247
17.8. Zum Weiterlesen. 1267
18. Dynamische Übersetzung und Skriptsprachen. 1269
18.1. Codegenerierung. 1270
18.2. Programme mit der Java Compiler API übersetzen. 1274
18.3. Ausführen von Skripten. 1283
18.4. Zum Weiterlesen. 1292
19. Logging und Monitoring. 1293
19.1. Logging mit Java. 1293
19.2. Systemzustände überwachen. 1303
19.3. MBean-Typen, MBean-Server und weitere Begriffe. 1304
19.4. Geschwätzige Programme und JConsole. 1306
19.5. Der MBeanServer. 1308
19.6. Eine eigene Standard-MBean. 1309
19.7. Zum Weiterlesen. 1313
20. Sicherheitskonzepte. 1315
20.1. Zentrale Elemente der Java-Sicherheit. 1315
20.2. Sicherheitsmanager (Security-Manager). 1318
20.3. Signierung. 1326
20.4. Kryptografische Hashfunktion. 1328
20.5. Verschlüsseln von Daten(-strömen) *. 1333
20.6. Zum Weiterlesen. 1336
21. Datenbankmanagement mit JDBC. 1337
21.1. Relationale Datenbanken. 1337
21.2. Datenbanken und Tools. 1338
21.3. JDBC und Datenbanktreiber. 1343
21.4. Eine Beispielabfrage. 1346
21.5. Mit Java an eine Datenbank andocken. 1348
21.6. Datenbankabfragen. 1354
21.7. Elemente einer Datenbank ändern. 1364
21.8. Die Ausnahmen bei JDBC, SQLException und Unterklassen. 1367
21.9. ResultSet und RowSet *. 1370
21.10. Vorbereitete Anweisungen (Prepared Statements). 1375
21.11. Transaktionen. 1377
21.12. Vorbereitete Datenbankverbindungen. 1378
21.13. Zum Weiterlesen. 1382
22. Java Native Interface (JNI). 1383
22.1. Java Native Interface und Invocation-API. 1383
22.2. Eine C-Funktion in ein Java-Programm einbinden. 1384
22.3. Dynamische Bibliotheken erzeugen. 1385
22.4. Nativ die String-Länge ermitteln. 1390
22.5. Erweiterte JNI-Eigenschaften. 1392
22.6. Einfache Anbindung von existierenden Bibliotheken. 1397
22.7. Invocation-API. 1398
22.8. Zum Weiterlesen. 1399
23. Dienstprogramme für die Java-Umgebung. 1401
23.1. Programme des JDK. 1401
23.2. Monitoringprogramme vom JDK. 1401
23.3. Programmieren mit der Tools-API. 1411
23.4. Ant. 1416
23.5. Disassembler, Decompiler und Obfuscator. 1421
23.6. Weitere Dienstprogramme. 1430
23.7. Zum Weiterlesen. 1431
Index. 1433