Skip to main content

2024 | Buch

Die Modularität von Java 9

Projekt Jigsaw und skalierbare Java-Anwendungen

verfasst von: Alexandru Jecan

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

Entwickeln Sie modulare Anwendungen mit dem Java Platform Module System, dem am meisten erwarteten Feature von Java 9. Sie werden die Wartbarkeit und Leistung Ihrer Java-Anwendungen verbessern, indem Sie nur die Module einsetzen, die benötigt werden, und deren Implementierungsdetails kapseln.

Bis jetzt war Java monolithisch. Die Verwendung eines beliebigen Teils von Java bedeutete die Einbindung der gesamten Laufzeitumgebung, ein Ansatz, der für die wachsende Zahl von IoT-Geräten wie Fitnessmonitoren, Küchengeräten, Spielzeugen und Spielen usw. nicht geeignet ist. Dieses Buch zeigt einen neuen Weg auf, wie Java vom kleinsten Fußabdruck im kleinsten Gerät über Desktop-PCs bis hin zu Serverplattformen skaliert werden kann.

Mit Java 9 Modularity Revealed lernen Sie, Ihre Projekte zuverlässiger und skalierbarer als je zuvor zu machen, indem Sie die wichtigste Funktion von Java 9 nutzen - das Java Platform Module System, besser bekannt als Project Jigs.

aw. Sie werden lernen, wie Sie einen der Hauptprobleme der Java-Programmierung vermeiden können, nämlich widersprüchliche Klassennamen aus verschiedenen Modulen oder Paketen. Sie werden lernen, benutzerdefinierte Laufzeit-Images zu erstellen, die eine minimale und kompaktere JRE darstellen und nur die Module enthalten, die Sie benötigen. Außerdem lernen Sie, wie Sie bestehende Java-Anwendungen mit Hilfe verschiedener Ansätze und Werkzeuge in modulare Anwendungen umwandeln können. Das Endergebnis ist eine neue Fähigkeit, verschiedene Module zusammenzustecken, ohne Angst vor Namensraum- und anderen Konflikten zu haben, und Sie können alles einsetzen, von kleinen Geräten bis hin zu großen Servern.

Dieses Buch enthält Codebeispiele und Erläuterungen.

Was Sie lernen werden

Java-Anwendungen mit dem neuen, in Java 9 eingeführten modularen System erstellen ErstellenSie Ihre eigene JRE, die nur aus den von Ihnen benötigten Modulen besteht Anpassung Ihrer Testtechniken an modulare Anwendungen Ihre Abhängigkeiten von anderen Modulen aufzulösen

Aktivieren Sie Module, die nur bestimmte Pakete exportieren Bestehende Java-Anwendungen in modulare Anwendungen umwandeln Verbesserung der Wartbarkeit und Leistung von Java-Anwendungen

Für
wen dieses Buch bestimmt ist

Erfahrene Java-Programmierer, die über die neue Modularitätsunterstützung in Java 9 auf dem Laufenden bleiben und sich informieren möchten

Inhaltsverzeichnis

Frontmatter
Kapitel 1. Konzepte der modularen Programmierung
Zusammenfassung
Sie haben fast sicherlich mit Komplexität in Ihren Softwareprojekten zu tun gehabt. Das Komplexitätsniveau einer Softwareanwendung ist normalerweise niedrig, wenn die Entwicklung beginnt, aber nach einer Weile beginnt die Komplexität aufgrund der auf der Plattform durchgeführten Änderungen zu steigen. Die Komplexität steigt ständig, da neue Funktionen hinzugefügt und die bestehende Funktionalität angepasst werden. Je mehr Änderungen und Anpassungen vorgenommen werden, desto komplexer wird das System – es kann so komplex werden, dass es für einen neuen Entwickler schwierig wird, sich in das Projekt einzuarbeiten und alle seine inneren Abläufe zu verstehen. Und wenn die Dokumentation der Systemsoftware nicht gut genug ist, dann wird das Verständnis des Systems noch schwieriger. Ein hohes Maß an Komplexität erfordert mehr Energie, Ressourcen und Zeit, um die innere Struktur der Anwendung zu verstehen.
Alexandru Jecan
Kapitel 2. Project Jigsaw
Zusammenfassung
Dieses Kapitel führt Project Jigsaw ein. Es beschreibt, worum es bei Project Jigsaw geht, zeigt einige Probleme auf, die in der Vergangenheit in Java aufgetreten sind, und diskutiert die Java Enhancement Proposals, die Project Jigsaw ausmachen.
Alexandru Jecan
Kapitel 3. Modulares JDK und Quellcode
Zusammenfassung
Die JDK-Modulübersicht besteht aus umfassenden Informationen zu den Modulen, die derzeit in der Java-Plattform existieren.
Alexandru Jecan
Kapitel 4. Definition und Verwendung von Modulen
Zusammenfassung
In diesem Kapitel beginnen wir mit der Entwicklung modularer Anwendungen in Java 9 unter Verwendung einiger der Funktionen, die von Project Jigsaw angeboten werden. Ich werde zunächst das neue Konzept eines Jigsaw-Moduls zusammen mit seiner Moduldeklaration, der Datei module-info.java, erläutern. Sie erfahren auch über die fünf Arten von Direktiven, die in der Moduldeklaration verwendet werden können: requires, exports, uses, provides und opens. Dann schauen wir uns das Kompilieren und Ausführen von Modulen mit JDK 9 an und dafür stelle ich den neuen Modulpfad im Detail vor.
Alexandru Jecan
Kapitel 5. Modulare Laufzeitbilder
Zusammenfassung
In diesem Kapitel betrachten wir die Struktur des neuen modularen Laufzeitbildes, das in Java 9 eingeführt wurde und einen wichtigen Vorteil in Bezug auf verbesserte Leistung und Wartbarkeit bringt. Andererseits führt das neue Format des Laufzeitbildes nicht unbedingt dazu, dass die genau gleiche Funktionalität aller vorhandenen APIs erhalten bleibt.
Alexandru Jecan
Kapitel 6. Services
Zusammenfassung
Ein Dienst ist im Grunde genommen ein Funktionsstück, das durch eine Schnittstelle oder eine Klasse definiert wird, für die es Dienstanbieter gibt. Die Rolle von Diensten besteht darin, eng gekoppelte Module zu entkoppeln und eine lose Kopplung zwischen Dienstanbietern und Dienstnutzern zu ermöglichen. Die Verwendung von Diensten in JDK 9 ist nicht obligatorisch, aber sie bieten eine schöne Lösung für entkoppelte Module.
Alexandru Jecan
Kapitel 7. Jlink: Der Java Linker
Zusammenfassung
Während des gesamten Softwareentwicklungsprozesses können wir auf Situationen stoßen, in denen wir gezielte Java Runtime Environments (JREs) für das Betriebssystem benötigen, das wir verwenden. Die Gründe dafür sind vielfältig: Wir möchten vielleicht eine bessere Leistung erzielen oder wir haben möglicherweise einige angepasste Bibliotheken, die nur auf einem bestimmten Betriebssystem funktionieren.
Alexandru Jecan
Kapitel 8. Migration
Zusammenfassung
Dieses Kapitel behandelt Schlüsselkonzepte und Werkzeuge, die dazu dienen, die Migration zu JDK 9 zu erleichtern. Es behandelt häufige Probleme, die auftreten können, wenn wir bestehende Java-Anwendungen auf JDK 9 migrieren und schlägt Lösungen und Tipps zur Lösung von Migrationsproblemen vor.
Alexandru Jecan
Kapitel 9. Die neue Modul-API
Zusammenfassung
Project Jigsaw führte mit den Modulen eine neue Schicht in JDK 9 ein und fügte der Java-Plattform viele neue Funktionen hinzu. Unter den neuen Funktionen wurde eine neue Modul-API eingeführt, um die Arbeit mit Modulen zu handhaben. Die neue Modul-API wurde im Modul java.base in den Paketen java.lang und java.lang.module hinzugefügt. Sie enthält eine Reihe von Klassen, Schnittstellen, Aufzählungen (Enums) und Ausnahmen, die zur Arbeit mit Modulen verwendet werden können.
Alexandru Jecan
Kapitel 10. Fortgeschrittene Themen
Zusammenfassung
Anwendungen mit Plugin- und Containerarchitekturen müssen zwei wichtige Funktionen nutzen können: dynamische Konfiguration und Laufzeiterweiterung von Plattformmodulen. Das bedeutet, dass solche Anwendungen in der Lage sein müssen, neue zusätzliche Module zur Laufzeit zu laden, sie in die bestehende Anwendungskonfiguration einzubinden und sie zu nutzen, ohne die Notwendigkeit, die Anwendung zu stoppen und erneut zu kompilieren. Diese Art von Anwendung muss auch in der Lage sein, andere Plattformmodule zu laden und zu konfigurieren, nachdem ein Laufzeitbild aufgerufen wurde. Jigsaw führt eine solche Unterstützung in Form von Schichten ein. Schichten sind eines der Hauptthemen dieses Kapitels.
Alexandru Jecan
Kapitel 11. Testen modularer Anwendungen
Zusammenfassung
Bis jetzt sollten Sie einen tiefen Überblick über Project Jigsaw haben und in der Lage sein, es in Ihren Projekten zu verwenden. Aber es gibt ein wichtiges Thema, das ich noch nicht erwähnt habe: Unit-Tests. Dieses Kapitel konzentriert sich auf das Unit Testing modularer Anwendungen in Java 9 und die verschiedenen Ansätze, die Sie dazu nehmen können. In diesem Kapitel zeige ich Ihnen einige Best Practices für das Durchführen von Unit-Tests in Java 9 im Kontext einer modularen Anwendung.
Alexandru Jecan
Kapitel 12. Integration mit Werkzeugen
Zusammenfassung
Damit Java 9 so einfach und schnell wie möglich von der Entwicklergemeinschaft übernommen werden kann, ist es sehr wichtig, dass die integrierten Entwicklungsumgebungen (IDEs) und Build-Tools so umfangreich wie möglich Java 9 unterstützen – das ist so wichtig, dass ich dieses gesamte Kapitel diesem Thema widme.
Alexandru Jecan
Metadaten
Titel
Die Modularität von Java 9
verfasst von
Alexandru Jecan
Copyright-Jahr
2024
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-662-68877-9
Print ISBN
978-3-662-68876-2
DOI
https://doi.org/10.1007/978-3-662-68877-9

Premium Partner