Parallelität in Java: Multithreading, Parallelisierung und Asynchronität in der Praxis
Parallelität in Java: Multithreading, Parallelisierung und Asynchronität in der Praxis
Zusammenfassung:
Moderne Anwendungen müssen schnell und reaktionsfähig sein. Aber das Schreiben korrekten Multithreading-Codes ist eine der schwierigsten Aufgaben in der Programmierung. Datenrennen, gegenseitige Blockaden, Sichtbarkeits- und Leistungsprobleme lauern dem Entwickler auf Schritt und Tritt. Das Buch „Parallelität in Java“ ist ein praktischer Leitfaden, der Ihnen hilft, alle Aspekte der parallelen Programmierung in Java zu meistern: von klassischen Low-Level-Mitteln bis hin zu modernen High-Level-Abstraktionen und experimentellen Möglichkeiten von Project Loom.
Worum geht es in diesem Buch?
Das Buch ist nach dem Prinzip „vom Einfachen zum Komplexen“ aufgebaut. Sie beginnen mit den Grundlagen: Was ist ein Thread, wie erstellt und startet man ihn, welche Probleme treten bei der Arbeit mit gemeinsam genutzten Daten auf. Dann tauchen Sie in die Welt der Synchronisation ein: synchronized, volatile, java.util.concurrent.locks und atomare Klassen. Als Nächstes lernen Sie Thread-Pools (ExecutorService, ForkJoinPool) kennen, lernen, Aufgaben effizient zu verwalten und „Thread-Leaks“ zu vermeiden. Einzelne Kapitel widmen sich:
- CompletableFuture und asynchroner Programmierung – dem Aufbau nicht-blockierender Datenverarbeitungspipelines.
- Streams und parallelen Collections – der sicheren Verwendung von
Stream.parallel()undConcurrentHashMap. - Testen von Multithreading-Code – Hilfsprogrammen, Mustern (Awaitility, Thread Weaver) und typischen Fehlern.
- Project Loom (virtuelle Threads) – einem neuen Ansatz für Parallelität, der verspricht, das Schreiben skalierbarer Serveranwendungen zu vereinfachen.
Für wen ist dieses Buch?
Die Veröffentlichung ist nützlich für:
- Junior-Entwickler, die bereits mit der Java-Syntax vertraut sind und verstehen möchten, wie Multithreading funktioniert.
- Middle-Entwickler, die auf Bugs in der Produktion stoßen und ihr Wissen systematisieren möchten.
- Architekten und Team-Leads, die Entscheidungen über die Wahl des Parallelitätsmodells für hochbelastete Systeme treffen.
Was werden Sie lernen?
Nach der Lektüre werden Sie in der Lage sein:
- Multithreading-Architekturen kompetent zu entwerfen und Deadlocks und Race Conditions zu vermeiden.
- Das richtige Werkzeug für die Aufgabe auszuwählen: von
ReentrantLockbisPhaserundCompletableFuture. - Thread-Pools für spezifische Szenarien (CPU-bound, I/O-bound) zu konfigurieren.
- Sichere und testbare parallele Algorithmen zu schreiben.
- Das Innenleben der JVM und des JMM (Java Memory Model) auf einem Niveau zu verstehen, das ausreicht, um komplexe Probleme zu debuggen.
Jedes Kapitel enthält Codebeispiele, die heruntergeladen und ausgeführt werden können, sowie Übungen zur Selbstkontrolle. Das Buch ist in einer lebendigen Sprache geschrieben, ohne übermäßige Akademisierung, aber mit einem tiefen Eintauchen in technische Details.
„Parallelität in Java“ ist nicht nur ein Nachschlagewerk, sondern ein Handbuch, zu dem Sie immer wieder zurückkehren werden, wenn Sie leistungsstarke und zuverlässige Java-Anwendungen entwerfen.
Empfehlungen
Sauberer Code in Go (Golang): Ein praktischer Leitfaden
Testen von Kotlin-Anwendungen: von Unit-Tests bis E2E
Sauberer Code in Rust: Ein praktischer Leitfaden zum Schreiben von zuverlässigem und wartbarem Code
Webentwicklung mit PHP: Von den Grundlagen bis zum Deployment
Funktionale Programmierung in C++
Maschinelles Lernen und Java: praktischer Leitfaden