CHF48.90
Download steht sofort bereit
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:
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!«
Autorentext
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.
Inhalt
Vorwort ... 35
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
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
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
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
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
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
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
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
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
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
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 ein…