Java SE 9 Standard-Bibliothek

Das Handbuch für Java-Entwickler. Die zweite Java-Insel, aktuell zu Java 9
Langbeschreibung
Die Fortsetzung des Java-Kultbuchs für Entwickler! Hier bekommen Sie umfassendes und kompetentes Praxiswissen zu den vielen Bibliotheken und Technologien in einem Band. Am Beispiel konkreter Java-Projekte zeigt Christian Ullenboom, was man wissen muss über Swing/JavaFX, Netzwerk- und Grafikprogrammierung, RMI und Web-Services, JDBC, Reflection und Annotationen, Logging und Monitoring, Java Native Interface (JNI) und vieles mehr. Dieses Buch ist Ihr unersetzlicher Begleiter bei der täglichen Arbeit!
Hauptbeschreibung
Datum und Zeit, JNI, Sicherheit, String-Verarbeitung
Inhaltsverzeichnis
1. Vorwort ... 351. Neues in Java 9 ... 431.1 ... Klassenlader (Class Loader) und Modul-/Klassenpfad ... 431.2 ... Module entwickeln und einbinden ... 491.3 ... Sprachänderungen in Java 9 ... 641.4 ... Bibliotheksänderungen in Java 9 ... 651.5 ... Änderungen in den Werkzeugen von Java 9 ... 651.6 ... JDK 9-HotSpot-JVM-Änderungen ... 661.7 ... Zum Weiterlesen ... 662. Die Klassenbibliothek ... 672.1 ... Die Java-Klassenphilosophie ... 672.2 ... Die Utility-Klassen System und Properties ... 742.3 ... Versionskennungen auslesen, aufbauen, parsen und vergleichen ... 842.4 ... Einfache Benutzereingaben ... 862.5 ... Benutzereinstellungen * ... 882.6 ... Maven: Build-Management und Abhängigkeiten auflösen ... 952.7 ... Zum Weiterlesen ... 993. Fortgeschrittene String-Verarbeitung ... 1013.1 ... Erweiterte Zeicheneigenschaften ... 1013.2 ... Reguläre Ausdrücke ... 1043.3 ... Zerlegen von Zeichenketten ... 1223.4 ... Zeichenkodierungen, XML/HTML-Entities, Base64 * ... 1373.5 ... Ausgaben formatieren ... 1423.6 ... Sprachabhängiges Vergleichen und Normalisierung * ... 1543.7 ... Phonetische Vergleiche * ... 1593.8 ... Zum Weiterlesen ... 1604. Datenstrukturen und Algorithmen ... 1614.1 ... Datenstrukturen und die Collection-API ... 1614.2 ... Listen ... 1734.3 ... Mengen (Sets) ... 1914.4 ... Queues (Schlangen) und Deques ... 2014.5 ... Stack (Kellerspeicher, Stapel) ... 2094.6 ... Assoziative Speicher ... 2114.7 ... Immutable Datenstrukturen ... 2354.8 ... Mit einem Iterator durch die Daten wandern ... 2454.9 ... Algorithmen in Collections ... 2554.10 ... Datenstrukturen mit Änderungsmeldungen ... 2684.11 ... Stream-API ... 2784.12 ... Spezielle threadsichere Datenstrukturen ... 3174.13 ... Google Guava (Google Collections Library) ... 3274.14 ... Die Klasse BitSet für Bitmengen * ... 3324.15 ... Zum Weiterlesen ... 3385. Threads und nebenläufige Programmierung ... 3395.1 ... Threads erzeugen ... 3395.2 ... Thread-Eigenschaften und Zustände ... 3445.3 ... Der Ausführer (Executor) kommt ... 3605.4 ... Synchronisation über kritische Abschnitte ... 3725.5 ... Synchronisation über Warten und Benachrichtigen ... 3965.6 ... Datensynchronisation durch besondere Concurrency-Klassen * ... 4085.7 ... Atomare Operationen und frische Werte mit volatile * ... 4145.8 ... Teile und herrsche mit Fork und Join * ... 4185.9 ... Mit dem Thread verbundene Variablen * ... 4245.10 ... Threads in einer Thread-Gruppe * ... 4305.11 ... Reaktive Programmierung und die Flow-API * ... 4385.12 ... Zeitgesteuerte Abläufe ... 4405.13 ... Ausführen externer Programme, Starten von Prozessen * ... 4425.14 ... Den Stack-Trace erfragen * ... 4505.15 ... Einen Abbruch der virtuellen Maschine erkennen ... 4555.16 ... Zum Weiterlesen ... 4576. Raum und Zeit ... 4596.1 ... Sprachen der Länder ... 4596.2 ... Internationalisierung und Lokalisierung ... 4636.3 ... Weltzeit * ... 4686.4 ... Wichtige Datum-Klassen im Überblick ... 4696.5 ... Die Klasse Date ... 4726.6 ... Date-Time-API ... 4746.7 ... Calendar und GregorianCalendar ... 5046.8 ... Zeitzonen in Java * ... 5176.9 ... Formatieren und Parsen von Date-Objekten ... 5206.10 ... Die Default-Falle ... 5286.11 ... Zum Weiterlesen ... 5297. Dateien, Verzeichnisse und Dateizugriffe ... 5317.1 ... Alte und neue Welt in java.io und java.nio ... 5317.2 ... Dateisysteme und Pfade ... 5337.3 ... Datei- und Verzeichnisoperationen mit der Klasse File ... 5697.4 ... Dateien mit wahlfreiem Zugriff ... 5857.5 ... Wahlfreier Zugriff mit SeekableByteChannel und ByteBuffer * ... 5917.6 ... Zum Weiterlesen ... 5958. Datenströme ... 5978.1 ... Basisklassen für die Ein-/Ausgabe ... 5978.2 ... Lesen aus Dateien und Schreiben in Dateien ... 6108.3 ... Übersicht über Ein-/Ausgabeklassen ... 6168.4 ... Formatierte Textausgaben ... 6208.5 ... Die FileXXX-Stromklassen ... 6288.6 ... Schreiben und Lesen aus Strings und Byte-Feldern ... 6358.7 ... Datenströme filtern und verketten ... 6408.8 ... Vermittler zwischen Byte-Streams und Unicode-Strömen ... 6538.9 ... Kommunikation zwischen Threads mit Pipes * ... 6578.10 ... Prüfsummen ... 6608.11 ... Persistente Objekte und Serialisierung ... 6648.12 ... Alternative Datenaustauschformate ... 6858.13 ... Zum Weiterlesen ... 6889. Dateiformate ... 6899.1 ... Einfache Dateiformate für strukturierte Daten ... 6909.2 ... Dokumentenformate ... 6949.3 ... Datenkompression * ... 6979.4 ... Bildformate ... 7119.5 ... Audiodateien ... 7119.6 ... Zum Weiterlesen ... 71510. Die eXtensible Markup Language (XML) und JSON ... 71710.1 ... Auszeichnungssprachen ... 71710.2 ... Eigenschaften von XML-Dokumenten ... 71810.3 ... Die Java-APIs für XML ... 72910.4 ... Java Architecture for XML Binding (JAXB) ... 73210.5 ... Serielle Verarbeitung mit StAX ... 75510.6 ... Serielle Verarbeitung von XML mit SAX * ... 76810.7 ... XML-Dateien mit JDOM verarbeiten ... 77210.8 ... Transformationen mit XSLT * ... 79410.9 ... XML-Schema-Validierung * ... 79710.10 ... JSON-Serialisierung mit Jackson-Datenformat ... 79910.11 ... Zum Weiterlesen ... 80311. Netzwerkprogrammierung ... 80511.1 ... Grundlegende Begriffe ... 80511.2 ... URI und URL ... 80711.3 ... URL-Parameter kodieren ... 81211.4 ... Die Klassen URLConnection und HttpURLConnection ... 81311.5 ... Host- und IP-Adressen ... 82211.6 ... Socket-Verbindungen ... 82711.7 ... HTTP Client API in Java 9 ... 84111.8 ... Neue externe Netzwerkbibliotheken * ... 84311.9 ... Arbeitsweise eines Webservers * ... 84411.10 ... Verbindungen durch einen Proxy-Server * ... 85311.11 ... Bidirektionale binäre Webkommunikation über WebSockets * ... 85511.12 ... Datagram-Sockets * ... 85611.13 ... Tiefer liegende Netzwerkeigenschaften * ... 86211.14 ... Zum Weiterlesen ... 86312. RESTful und SOAP-Web-Services ... 86512.1 ... Web-Services ... 86512.2 ... RESTful Web-Services ... 86612.3 ... Daily Soap und das SOAP-Protokoll ... 86812.4 ... Zum Weiterlesen ... 87413. Verteilte Programmierung mit RMI ... 87513.1 ... Entfernte Objekte und Methoden ... 87513.2 ... Java Remote Method Invocation ... 87713.3 ... Auf der Serverseite ... 88113.4 ... Auf der Client-Seite ... 88913.5 ... Entfernte Objekte übergeben und laden ... 89013.6 ... Automatische Remote-Objekt-Aktivierung ... 89113.7 ... Java Message Service (JMS) ... 89213.8 ... Zum Weiterlesen ... 89214. Typen, Reflection und Annotationen ... 89514.1 ... Metadaten ... 89514.2 ... Die Klasse Class ... 89614.3 ... Klassenlader ... 89914.4 ... Metadaten der Typen mit dem Class-Objekt ... 90514.5 ... Attribute, Methoden und Konstruktoren ... 91514.6 ... Objekte erzeugen und manipulieren ... 92714.7 ... Schneller aufrufen mit MethodType und MethodHandle ... 94114.8 ... Eigene Annotationstypen * ... 94214.9 ... Zum Weiterlesen ... 96215. Logging und Monitoring ... 96315.1 ... Logging mit Java ... 96315.2 ... Systemzustände überwachen ... 97615.3 ... MBean-Typen, MBean-Server und weitere Begriffe ... 97615.4 ... Geschwätzige Programme und JConsole ... 97915.5 ... Der MBeanServer ... 98115.6 ... Eine eigene Standard-MBean ... 98215.7 ... Zum Weiterlesen ... 98616. Datenbankmanagement mit JDBC ... 98716.1 ... Relationale Datenbanken und Datenbankmanagementsysteme ... 98716.2 ... JDBC und Datenbanktreiber ... 99316.3 ... Eine Beispielabfrage ... 99516.4 ... Mit Java an eine Datenbank andocken ... 99616.5 ... Datenbankabfragen ... 100316.6 ... Elemente einer Datenbank ändern ... 101316.7 ... Die Ausnahmen bei JDBC, SQLException und Unterklassen ... 101616.8 ... ResultSet und RowSet * ... 101916.9 ... Vorbereitete Anweisungen (Prepared Statements) ... 102316.10 ... Transaktionen ... 102616.11 ... Vorbereitete Datenbankverbindungen ... 102716.12 ... Zum Weiterlesen ... 103117. Grafische Oberflächen mit Swing ... 103317.1 ... AWT, JavaFoundation Classes und Swing ... 103317.2 ... Mit NetBeans zur ersten Swing-Oberfläche ... 103817.3 ... Aller Swing-Anfang -- Fenster zur Welt ... 104917.4 ... Beschriftungen (JLabel) ... 105717.5 ... Icon und ImageIcon für Bilder auf Swing-Komponenten ... 106017.6 ... Es tut sich was -- Ereignisse beim AWT ... 106217.7 ... Schaltflächen ... 107617.8 ... Textkomponenten ... 108117.9 ... Swing Action * ... 109317.10 ... JComponent und Component als Basis aller Komponenten ... 109517.11 ... Container ... 110817.12 ... Alles Auslegungssache -- die Layoutmanager ... 111217.13 ... Rollbalken und Schieberegler ... 112617.14 ... Kontrollfelder, Optionsfelder, Kontrollfeldgruppen ... 113117.15 ... Fortschritte bei Operationen überwachen * ... 113717.16 ... Menüs und Symbolleisten ... 113917.17 ... Das Model-View-Controller-Konzept ... 115517.18 ... Auswahlmenüs, Listen und Spinner ... 115717.19 ... Tabellen (JTable) ... 117217.20 ... Bäume (JTree) ... 118717.21 ... Dialoge und Window-Objekte ... 119217.22 ... Flexibles Java-Look-and-Feel ... 120117.23 ... Swing-Komponenten neu erstellen oder verändern * ... 120317.24 ... Die Zwischenablage (Clipboard) ... 120617.25 ... AWT, Swing und die Threads ... 121117.26 ... Barrierefreiheit mit der Java Accessibility API ... 121917.27 ... Zeitliches Ausführen mit dem javax.swing.Timer ... 122017.28 ... Zum Weiterlesen ... 122118. Grafikprogrammierung ... 122318.1 ... Grundlegendes zum Zeichnen ... 122318.2 ... Einfache Zeichenmethoden ... 122918.3 ... Zeichenketten schreiben und Fonts ... 123318.4 ... Geometrische Objekte ... 123918.5 ... Das Innere und Äußere einer Form ... 124218.6 ... Bilder ... 124918.7 ... Weitere Eigenschaften von Graphics * ... 126318.8 ... Drucken * ... 127118.9 ... Benutzerinteraktionen automatisieren, Robot und Screenshots * ... 127418.10 ... Zum Weiterlesen ... 128019. JavaFX ... 128119.1 ... Das erste Programm mit JavaFX ... 128119.2 ... Zentrale Typen in JavaFX ... 128419.3 ... JavaFX-Komponenten und Layout-Container-Klassen ... 128619.4 ... Webbrowser ... 129019.5 ... Geometrische Objekte ... 129119.6 ... Füllart von Formen ... 130419.7 ... Grafiken ... 130819.8 ... Deklarative Oberflächen mit FXML ... 131319.9 ... Diagramme (Charts) ... 131519.10 ... Animationen ... 131919.11 ... Medien abspielen ... 132219.12 ... Java 3D ... 132319.13 ... Das Geometry-Paket * ... 132319.14 ... JavaFX-Scene in Swing-Applikationen einbetten ... 132419.15 ... Zum Weiterlesen ... 132620. Sicherheitskonzepte ... 132720.1 ... Zentrale Elemente der Java-Sicherheit ... 132720.2 ... Sicherheitsmanager (Security-Manager) ... 133020.3 ... Signierung ... 133820.4 ... Kryptografische Hashfunktion ... 134120.5 ... Verschlüsseln von Daten(-strömen) * ... 134620.6 ... Zum Weiterlesen ... 134921. Dynamische Übersetzung, Skriptsprachen, JShell ... 135121.1 ... Codegenerierung ... 135221.2 ... Programme mit der Java Compiler API übersetzen ... 135621.3 ... Ausführen von Skripten ... 136621.4 ... JShell, die interaktive REPL-Shell ... 137521.5 ... Zum Weiterlesen ... 138122. Java Native Interface (JNI) ... 138322.1 ... Java Native Interface und Invocation-API ... 138322.2 ... Eine C-Funktion in ein Java-Programm einbinden ... 138422.3 ... Dynamische Bibliotheken erzeugen ... 138622.4 ... Erweiterte JNI-Eigenschaften ... 139222.5 ... Einfache Anbindung von existierenden Bibliotheken ... 139722.6 ... Invocation-API ... 139922.7 ... Zum Weiterlesen ... 140023. Dienstprogramme für die Java-Umgebung ... 140123.1 ... Programme des JDK ... 140123.2 ... Monitoringprogramme vom JDK ... 140123.3 ... Ant ... 141123.4 ... Disassembler, Decompiler und Obfuscator ... 141723.5 ... Weitere Dienstprogramme ... 142623.6 ... Zum Weiterlesen ... 1426Index ... 1427
Christian Ullenboom, Dipl.-Informatiker, ist 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.
ISBN-13:
9783836258746
Veröffentl:
2017
Erscheinungsdatum:
01.12.2017
Seiten:
1447
Autor:
Christian Ullenboom
Gewicht:
2462 g
Format:
246x197x71 mm
Serie:
Rheinwerk Computing
Sprache:
Deutsch

49,90 €*

Lieferzeit: Sofort lieferbari
Alle Preise inkl. MwSt. | zzgl. Versand