Java SE 9 Standard-Bibliothek

Das Handbuch für Java-Entwickler. Die zweite Java-Insel, aktuell zu Java 9

Christian Ullenboom

Die Leseprobe wird geladen.
Buch (gebundene Ausgabe)
Buch (gebundene Ausgabe)
49,90
49,90
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Sofort lieferbar Versandkostenfrei
Sofort lieferbar
Versandkostenfrei

Weitere Formate

gebundene Ausgabe

49,90 €

Accordion öffnen
  • Java SE 9 Standard-Bibliothek

    Rheinwerk

    Sofort lieferbar

    49,90 €

    Rheinwerk

eBook (ePUB)

44,90 €

Accordion öffnen

Beschreibung

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!

Aus dem Inhalt:

Neues in Java 9
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/JavaFX
Grafik- und Netzwerkprogrammierung
Verteilte Programmierung mit RMI
Datenbankmanagement mit JDBC
Reflection und Annotationen
Logging und Monitoring

Die Fachpresse zur Vorauflage:

iX - Magazin für professionelle Informationstechnik: »Ein »Wunderwerk««

PHP Nuke: »Ein wichtiges Java-Standardwerk! Der Schreibstil ist fantastisch. «

cc13.com: »Unverzichtbares Nachschlagewerk, uneingeschränkt zu empfehlen!«

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.

Produktdetails

Einband gebundene Ausgabe
Seitenzahl 1447
Erscheinungsdatum 28.11.2017
Sprache Deutsch
ISBN 978-3-8362-5874-6
Reihe Rheinwerk Computing
Verlag Rheinwerk
Maße (L/B/H) 24,6/19,7/7,1 cm
Gewicht 2461 g
Auflage 3. Auflage

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.

  • Artikelbild-0


  •   1.  Vorwort ... 35

      1.  Neues in Java 9 ... 43

           1.1 ... Klassenlader (Class Loader) und Modul-/Klassenpfad ... 43

           1.2 ... Module entwickeln und einbinden ... 49

           1.3 ... Sprachänderungen in Java 9 ... 64

           1.4 ... Bibliotheksänderungen in Java 9 ... 65

           1.5 ... Änderungen in den Werkzeugen von Java 9 ... 65

           1.6 ... JDK 9-HotSpot-JVM-Änderungen ... 66

           1.7 ... Zum Weiterlesen ... 66

      2.  Die Klassenbibliothek ... 67

           2.1 ... Die Java-Klassenphilosophie ... 67

           2.2 ... Die Utility-Klassen System und Properties ... 74

           2.3 ... Versionskennungen auslesen, aufbauen, parsen und vergleichen ... 84

           2.4 ... Einfache Benutzereingaben ... 86

           2.5 ... Benutzereinstellungen * ... 88

           2.6 ... Maven: Build-Management und Abhängigkeiten auflösen ... 95

           2.7 ... Zum Weiterlesen ... 99

      3.  Fortgeschrittene String-Verarbeitung ... 101

           3.1 ... Erweiterte Zeicheneigenschaften ... 101

           3.2 ... Reguläre Ausdrücke ... 104

           3.3 ... Zerlegen von Zeichenketten ... 122

           3.4 ... Zeichenkodierungen, XML/HTML-Entities, Base64 * ... 137

           3.5 ... Ausgaben formatieren ... 142

           3.6 ... Sprachabhängiges Vergleichen und Normalisierung * ... 154

           3.7 ... Phonetische Vergleiche * ... 159

           3.8 ... Zum Weiterlesen ... 160

      4.  Datenstrukturen und Algorithmen ... 161

           4.1 ... Datenstrukturen und die Collection-API ... 161

           4.2 ... Listen ... 173

           4.3 ... Mengen (Sets) ... 191

           4.4 ... Queues (Schlangen) und Deques ... 201

           4.5 ... Stack (Kellerspeicher, Stapel) ... 209

           4.6 ... Assoziative Speicher ... 211

           4.7 ... Immutable Datenstrukturen ... 235

           4.8 ... Mit einem Iterator durch die Daten wandern ... 245

           4.9 ... Algorithmen in Collections ... 255

           4.10 ... Datenstrukturen mit Änderungsmeldungen ... 268

           4.11 ... Stream-API ... 278

           4.12 ... Spezielle threadsichere Datenstrukturen ... 317

           4.13 ... Google Guava (Google Collections Library) ... 327

           4.14 ... Die Klasse BitSet für Bitmengen * ... 332

           4.15 ... Zum Weiterlesen ... 338

      5.  Threads und nebenläufige Programmierung ... 339

           5.1 ... Threads erzeugen ... 339

           5.2 ... Thread-Eigenschaften und Zustände ... 344

           5.3 ... Der Ausführer (Executor) kommt ... 360

           5.4 ... Synchronisation über kritische Abschnitte ... 372

           5.5 ... Synchronisation über Warten und Benachrichtigen ... 396

           5.6 ... Datensynchronisation durch besondere Concurrency-Klassen * ... 408

           5.7 ... Atomare Operationen und frische Werte mit volatile * ... 414

           5.8 ... Teile und herrsche mit Fork und Join * ... 418

           5.9 ... Mit dem Thread verbundene Variablen * ... 424

           5.10 ... Threads in einer Thread-Gruppe * ... 430

           5.11 ... Reaktive Programmierung und die Flow-API * ... 438

           5.12 ... Zeitgesteuerte Abläufe ... 440

           5.13 ... Ausführen externer Programme, Starten von Prozessen * ... 442

           5.14 ... Den Stack-Trace erfragen * ... 450

           5.15 ... Einen Abbruch der virtuellen Maschine erkennen ... 455

           5.16 ... Zum Weiterlesen ... 457

      6.  Raum und Zeit ... 459

           6.1 ... Sprachen der Länder ... 459

           6.2 ... Internationalisierung und Lokalisierung ... 463

           6.3 ... Weltzeit * ... 468

           6.4 ... Wichtige Datum-Klassen im Überblick ... 469

           6.5 ... Die Klasse Date ... 472

           6.6 ... Date-Time-API ... 474

           6.7 ... Calendar und GregorianCalendar ... 504

           6.8 ... Zeitzonen in Java * ... 517

           6.9 ... Formatieren und Parsen von Date-Objekten ... 520

           6.10 ... Die Default-Falle ... 528

           6.11 ... Zum Weiterlesen ... 529

      7.  Dateien, Verzeichnisse und Dateizugriffe ... 531

           7.1 ... Alte und neue Welt in java.io und java.nio ... 531

           7.2 ... Dateisysteme und Pfade ... 533

           7.3 ... Datei- und Verzeichnisoperationen mit der Klasse File ... 569

           7.4 ... Dateien mit wahlfreiem Zugriff ... 585

           7.5 ... Wahlfreier Zugriff mit SeekableByteChannel und ByteBuffer * ... 591

           7.6 ... Zum Weiterlesen ... 595

      8.  Datenströme ... 597

           8.1 ... Basisklassen für die Ein-/Ausgabe ... 597

           8.2 ... Lesen aus Dateien und Schreiben in Dateien ... 610

           8.3 ... Übersicht über Ein-/Ausgabeklassen ... 616

           8.4 ... Formatierte Textausgaben ... 620

           8.5 ... Die FileXXX-Stromklassen ... 628

           8.6 ... Schreiben und Lesen aus Strings und Byte-Feldern ... 635

           8.7 ... Datenströme filtern und verketten ... 640

           8.8 ... Vermittler zwischen Byte-Streams und Unicode-Strömen ... 653

           8.9 ... Kommunikation zwischen Threads mit Pipes * ... 657

           8.10 ... Prüfsummen ... 660

           8.11 ... Persistente Objekte und Serialisierung ... 664

           8.12 ... Alternative Datenaustauschformate ... 685

           8.13 ... Zum Weiterlesen ... 688

      9.  Dateiformate ... 689

           9.1 ... Einfache Dateiformate für strukturierte Daten ... 690

           9.2 ... Dokumentenformate ... 694

           9.3 ... Datenkompression * ... 697

           9.4 ... Bildformate ... 711

           9.5 ... Audiodateien ... 711

           9.6 ... Zum Weiterlesen ... 715

    10.  Die eXtensible Markup Language (XML) und JSON ... 717

           10.1 ... Auszeichnungssprachen ... 717

           10.2 ... Eigenschaften von XML-Dokumenten ... 718

           10.3 ... Die Java-APIs für XML ... 729

           10.4 ... Java Architecture for XML Binding (JAXB) ... 732

           10.5 ... Serielle Verarbeitung mit StAX ... 755

           10.6 ... Serielle Verarbeitung von XML mit SAX * ... 768

           10.7 ... XML-Dateien mit JDOM verarbeiten ... 772

           10.8 ... Transformationen mit XSLT * ... 794

           10.9 ... XML-Schema-Validierung * ... 797

           10.10 ... JSON-Serialisierung mit Jackson-Datenformat ... 799

           10.11 ... Zum Weiterlesen ... 803

    11.  Netzwerkprogrammierung ... 805

           11.1 ... Grundlegende Begriffe ... 805

           11.2 ... URI und URL ... 807

           11.3 ... URL-Parameter kodieren ... 812

           11.4 ... Die Klassen URLConnection und HttpURLConnection ... 813

           11.5 ... Host- und IP-Adressen ... 822

           11.6 ... Socket-Verbindungen ... 827

           11.7 ... HTTP Client API in Java 9 ... 841

           11.8 ... Neue externe Netzwerkbibliotheken * ... 843

           11.9 ... Arbeitsweise eines Webservers * ... 844

           11.10 ... Verbindungen durch einen Proxy-Server * ... 853

           11.11 ... Bidirektionale binäre Webkommunikation über WebSockets * ... 855

           11.12 ... Datagram-Sockets * ... 856

           11.13 ... Tiefer liegende Netzwerkeigenschaften * ... 862

           11.14 ... Zum Weiterlesen ... 863

    12.  RESTful und SOAP-Web-Services ... 865

           12.1 ... Web-Services ... 865

           12.2 ... RESTful Web-Services ... 866

           12.3 ... Daily Soap und das SOAP-Protokoll ... 868

           12.4 ... Zum Weiterlesen ... 874

    13.  Verteilte Programmierung mit RMI ... 875

           13.1 ... Entfernte Objekte und Methoden ... 875

           13.2 ... Java Remote Method Invocation ... 877

           13.3 ... Auf der Serverseite ... 881

           13.4 ... Auf der Client-Seite ... 889

           13.5 ... Entfernte Objekte übergeben und laden ... 890

           13.6 ... Automatische Remote-Objekt-Aktivierung ... 891

           13.7 ... Java Message Service (JMS) ... 892

           13.8 ... Zum Weiterlesen ... 892

    14.  Typen, Reflection und Annotationen ... 895

           14.1 ... Metadaten ... 895

           14.2 ... Die Klasse Class ... 896

           14.3 ... Klassenlader ... 899

           14.4 ... Metadaten der Typen mit dem Class-Objekt ... 905

           14.5 ... Attribute, Methoden und Konstruktoren ... 915

           14.6 ... Objekte erzeugen und manipulieren ... 927

           14.7 ... Schneller aufrufen mit MethodType und MethodHandle ... 941

           14.8 ... Eigene Annotationstypen * ... 942

           14.9 ... Zum Weiterlesen ... 962

    15.  Logging und Monitoring ... 963

           15.1 ... Logging mit Java ... 963

           15.2 ... Systemzustände überwachen ... 976

           15.3 ... MBean-Typen, MBean-Server und weitere Begriffe ... 976

           15.4 ... Geschwätzige Programme und JConsole ... 979

           15.5 ... Der MBeanServer ... 981

           15.6 ... Eine eigene Standard-MBean ... 982

           15.7 ... Zum Weiterlesen ... 986

    16.  Datenbankmanagement mit JDBC ... 987

           16.1 ... Relationale Datenbanken und Datenbankmanagementsysteme ... 987

           16.2 ... JDBC und Datenbanktreiber ... 993

           16.3 ... Eine Beispielabfrage ... 995

           16.4 ... Mit Java an eine Datenbank andocken ... 996

           16.5 ... Datenbankabfragen ... 1003

           16.6 ... Elemente einer Datenbank ändern ... 1013

           16.7 ... Die Ausnahmen bei JDBC, SQLException und Unterklassen ... 1016

           16.8 ... ResultSet und RowSet * ... 1019

           16.9 ... Vorbereitete Anweisungen (Prepared Statements) ... 1023

           16.10 ... Transaktionen ... 1026

           16.11 ... Vorbereitete Datenbankverbindungen ... 1027

           16.12 ... Zum Weiterlesen ... 1031

    17.  Grafische Oberflächen mit Swing ... 1033

           17.1 ... AWT, JavaFoundation Classes und Swing ... 1033

           17.2 ... Mit NetBeans zur ersten Swing-Oberfläche ... 1038

           17.3 ... Aller Swing-Anfang -- Fenster zur Welt ... 1049

           17.4 ... Beschriftungen (JLabel) ... 1057

           17.5 ... Icon und ImageIcon für Bilder auf Swing-Komponenten ... 1060

           17.6 ... Es tut sich was -- Ereignisse beim AWT ... 1062

           17.7 ... Schaltflächen ... 1076

           17.8 ... Textkomponenten ... 1081

           17.9 ... Swing Action * ... 1093

           17.10 ... JComponent und Component als Basis aller Komponenten ... 1095

           17.11 ... Container ... 1108

           17.12 ... Alles Auslegungssache -- die Layoutmanager ... 1112

           17.13 ... Rollbalken und Schieberegler ... 1126

           17.14 ... Kontrollfelder, Optionsfelder, Kontrollfeldgruppen ... 1131

           17.15 ... Fortschritte bei Operationen überwachen * ... 1137

           17.16 ... Menüs und Symbolleisten ... 1139

           17.17 ... Das Model-View-Controller-Konzept ... 1155

           17.18 ... Auswahlmenüs, Listen und Spinner ... 1157

           17.19 ... Tabellen (JTable) ... 1172

           17.20 ... Bäume (JTree) ... 1187

           17.21 ... Dialoge und Window-Objekte ... 1192

           17.22 ... Flexibles Java-Look-and-Feel ... 1201

           17.23 ... Swing-Komponenten neu erstellen oder verändern * ... 1203

           17.24 ... Die Zwischenablage (Clipboard) ... 1206

           17.25 ... AWT, Swing und die Threads ... 1211

           17.26 ... Barrierefreiheit mit der Java Accessibility API ... 1219

           17.27 ... Zeitliches Ausführen mit dem javax.swing.Timer ... 1220

           17.28 ... Zum Weiterlesen ... 1221

    18.  Grafikprogrammierung ... 1223

           18.1 ... Grundlegendes zum Zeichnen ... 1223

           18.2 ... Einfache Zeichenmethoden ... 1229

           18.3 ... Zeichenketten schreiben und Fonts ... 1233

           18.4 ... Geometrische Objekte ... 1239

           18.5 ... Das Innere und Äußere einer Form ... 1242

           18.6 ... Bilder ... 1249

           18.7 ... Weitere Eigenschaften von Graphics * ... 1263

           18.8 ... Drucken * ... 1271

           18.9 ... Benutzerinteraktionen automatisieren, Robot und Screenshots * ... 1274

           18.10 ... Zum Weiterlesen ... 1280

    19.  JavaFX ... 1281

           19.1 ... Das erste Programm mit JavaFX ... 1281

           19.2 ... Zentrale Typen in JavaFX ... 1284

           19.3 ... JavaFX-Komponenten und Layout-Container-Klassen ... 1286

           19.4 ... Webbrowser ... 1290

           19.5 ... Geometrische Objekte ... 1291

           19.6 ... Füllart von Formen ... 1304

           19.7 ... Grafiken ... 1308

           19.8 ... Deklarative Oberflächen mit FXML ... 1313

           19.9 ... Diagramme (Charts) ... 1315

           19.10 ... Animationen ... 1319

           19.11 ... Medien abspielen ... 1322

           19.12 ... Java 3D ... 1323

           19.13 ... Das Geometry-Paket * ... 1323

           19.14 ... JavaFX-Scene in Swing-Applikationen einbetten ... 1324

           19.15 ... Zum Weiterlesen ... 1326

    20.  Sicherheitskonzepte ... 1327

           20.1 ... Zentrale Elemente der Java-Sicherheit ... 1327

           20.2 ... Sicherheitsmanager (Security-Manager) ... 1330

           20.3 ... Signierung ... 1338

           20.4 ... Kryptografische Hashfunktion ... 1341

           20.5 ... Verschlüsseln von Daten(-strömen) * ... 1346

           20.6 ... Zum Weiterlesen ... 1349

    21.  Dynamische Übersetzung, Skriptsprachen, JShell ... 1351

           21.1 ... Codegenerierung ... 1352

           21.2 ... Programme mit der Java Compiler API übersetzen ... 1356

           21.3 ... Ausführen von Skripten ... 1366

           21.4 ... JShell, die interaktive REPL-Shell ... 1375

           21.5 ... Zum Weiterlesen ... 1381

    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 ... 1386

           22.4 ... Erweiterte JNI-Eigenschaften ... 1392

           22.5 ... Einfache Anbindung von existierenden Bibliotheken ... 1397

           22.6 ... Invocation-API ... 1399

           22.7 ... Zum Weiterlesen ... 1400

    23.  Dienstprogramme für die Java-Umgebung ... 1401

           23.1 ... Programme des JDK ... 1401

           23.2 ... Monitoringprogramme vom JDK ... 1401

           23.3 ... Ant ... 1411

           23.4 ... Disassembler, Decompiler und Obfuscator ... 1417

           23.5 ... Weitere Dienstprogramme ... 1426

           23.6 ... Zum Weiterlesen ... 1426

      Index ... 1427