- Einführung in das neue Release-Zyklus-Modell (6-Monats-Zyklen, LTS-Versionen).
- Auswirkungen der Release-Zyklen auf die Entwicklung.
- Überblick über die Neuerungen von Java 9 bis Java 23.
Modularisierung mit dem Java Platform Module System (JPMS):
- Grundlagen der Modularisierung: Aufbau und Struktur von Modulen.
- Verwendung von module-info.java zur Definition von Abhängigkeiten und Zugriffen.
- Umgang mit Reflection im Modulsystem und dessen Einschränkungen.
- Tools: jlink: Erstellung modularisierter Laufzeitumgebungen, jdeps: Analyse von Modul- und Klassenabhängigkeiten.
- Integration des Modulsystems in Build-Tools wie Maven und Gradle.
Syntax-Erweiterungen:
- Neue Sprachfeatures: Verwendung von
- var, erweiterte switch-Ausdrücke, Textblöcke und verbesserte NullPointerException-Details.
Standard-API Erweiterungen:
- Einführung in das Flow-API für reaktive Programmierung und asynchrone Verarbeitung.
- Neues HTTP Client API für die Arbeit mit HTTP/2 und WebSocket.
- Verbesserungen in der Prozess-API (z.B. ProcessHandle), StackWalker API, und Logging API.
Verbesserungen bestehender Klassen:
- Erweiterungen von Klassen wie Optional, Stream, CompletableFuture.
Pattern Matching, Records und Sealed Classes:
- Einführung von Pattern Matching für instanceof und switch.
- Verwendung von Records zur Modellierung von Datenklassen.
- Einführung von Sealed Classes zur Einschränkung der Vererbung.
Sonstige Neuerungen:
- Multi-Release JARs, Optimierungen der Garbage Collection (ZGC, Shenandoah).
- Sicherheits- und Performanceverbesserungen, neue Methoden in den Collection-APIs.
MethodeVortrag, Diskussion, Übungen, Praktikum am System.