Modernes Java in Aktion
Modernes Java in Aktion
Zusammenfassung:
Einleitung
Das Buch „Modernes Java in Aktion“ (Originaltitel Modern Java in Action) ist die zweite, vollständig überarbeitete Ausgabe des Kultbuches Java 8 in Action. Die Autoren – Raoul-Gabriel Urma, Mario Fusco und Alan Mycroft – sind bekannte Experten in der Java-Welt, Mitglieder der Expertengruppe für die Spezifikation von Lambda-Ausdrücken (JSR 335) und Autoren des beliebten Online-Kurses auf der Plattform Coursera. Das Buch erschien 2018 und behandelt die Java-Versionen 8, 9, 10 und 11, wobei der Schwerpunkt auf modernen Paradigmen liegt: funktionale und reaktive Programmierung.
Dies ist kein weiteres Syntax-Nachschlagewerk. Es ist ein praktischer Leitfaden, der lehrt, neu zu denken: Lambdas, Streams, Optional, CompletableFuture und reaktive Streams zu nutzen, um saubereren, prägnanteren und leistungsfähigeren Code zu schreiben. Das Buch ist ideal für diejenigen, die bereits mit den Grundlagen von Java vertraut sind (z. B. Head First Java oder Java: The Complete Reference gelesen haben), aber auf das nächste Level wechseln und die modernen Werkzeuge der Sprache meistern möchten.
Worum es in dem Buch geht
Das Buch ist in fünf Teile gegliedert, die sich jeweils einem zentralen Thema widmen:
- Teil I. Grundlagen – eine kurze Einführung in Lambda-Ausdrücke, funktionale Schnittstellen, Methodenreferenzen und Datenströme (Streams). Hier wird die Grundlage für das weitere Studium gelegt.
- Teil II. Funktionale Programmierung – ein tiefer Einstieg in Streams: Erstellung, Filterung, Mapping, Reduktion, parallele Streams. Die Klasse
Optionalwird separat als Alternative zunullbehandelt. - Teil III. Effektive Java-Programmierung – praktische Tipps zum Refactoring von Code mit Lambdas, Testen, Debuggen sowie Arbeiten mit Datum und Zeit (Java 8 Date/Time API).
- Teil IV. Parallele und asynchrone Programmierung –
CompletableFuturefür asynchrone Berechnungen,FlowAPI (Reactive Streams) und praktische Beispiele zum Aufbau reaktiver Systeme. - Teil V. Neue Funktionen in Java 9, 10, 11 – das Modulsystem (Project Jigsaw), Verbesserungen in der Syntax (
var, verbessertestry-with-resources), HTTP-Client und andere Neuerungen.
Für wen ist dieses Buch geeignet
Das Buch richtet sich an Java-Entwickler mittleren und fortgeschrittenen Niveaus, die bereits in Java programmieren, aber das Gefühl haben, dass ihr Code veraltet ist. Wenn Sie Java 7 oder eine frühere Version verwenden und auf moderne Standards umsteigen möchten, ist dies Ihr Lehrbuch. Das Buch ist auch für diejenigen nützlich, die von anderen Sprachen (z. B. C# oder Python) umsteigen und idiomatischen Java-Code schnell erlernen möchten.
Was der Leser lernen wird
- Prägnanten Code mit Lambda-Ausdrücken und Methodenreferenzen schreiben.
- Sammlungen mit dem Stream API effizient verarbeiten: Filtern, Sortieren, Gruppieren, parallele Verarbeitung.
NullPointerExceptionmitOptionalvermeiden.- Asynchrone Operationsketten mit
CompletableFutureerstellen. - Reaktive Streams (Reactive Streams) zur Verarbeitung großer Datenmengen anwenden.
- Das Java 9-Modulsystem zur Organisation großer Projekte nutzen.
- Neue Funktionen von Java 10 und 11 anwenden: lokale Typinferenz (
var), verbesserter HTTP-Client, neue Methoden in der Standardbibliothek.
Stärken
Der Hauptvorteil des Buches ist seine praktische Ausrichtung. Jedes Kapitel enthält zahlreiche Codebeispiele, die sofort in der Arbeit angewendet werden können. Die Autoren listen nicht nur neue Funktionen auf, sondern erklären, warum sie benötigt werden und wie man sie richtig einsetzt. Besonders wertvoll sind die Kapitel zum Refactoring: Es wird gezeigt, wie man alten imperativen Code in einen modernen funktionalen Stil umwandelt.
Ein weiterer Pluspunkt ist die Aktualität. Trotz der
Empfehlungen
Asynchrones JavaScript (Node.js): Das vollständige Handbuch
Programmierung: Prinzipien und Praxis mit C++
C++ Network Programming. Band 1: Beherrschung der Komplexität mit ACE und Patterns
Concurrency in C# Cookbook (Rezepte für parallele Programmierung in C#)
Rust für Rustaceans: Idiomatische Programmierung und fortgeschrittene Techniken
Make It Lean with TypeScript