Was ihr in dieser Schulung lernt
In diesem zweitägigen Kurs lernt ihr alle wichtigen Neuerungen der Java-Versionen 12 bis 17 kennen – tiefgehend, verständlich und mit einem klaren Fokus auf den Projektalltag.
Ihr seht, wie moderne Sprachfeatures wie Records, Switch Expressions und Pattern Matching euren Code eleganter und wartbarer machen. Text Blocks erleichtern das Arbeiten mit mehrzeiligen Strings. Und zahlreiche kleinere Verbesserungen der Standard-API sparen euch im Alltag echte Zeit.
Ihr bekommt außerdem einen Überblick über ZGC und Shenandoah, die seit Java 15 produktionsreif sind – und erfahrt, wie die bestehenden Garbage Collectoren verbessert wurden.
Ihr erfahrt außerdem, was beim Upgrade auf Java 17 zu beachten ist – insbesondere, warum Strongly Encapsulate JDK Internals für viele Teams zur Stolperfalle wird und wie ihr das souverän löst.
In zahlreichen Übungen – meist mit Beispielen aus echten Projekten – wendet ihr das Gelernte direkt an und vertieft euer Wissen nachhaltig.
Am Ende des Kurses schauen wir gemeinsam auf kommende Features – zum Beispiel Pattern Matching for switch, das Java 17 als Preview mitbringt.
Eine vollständige Übersicht aller neuen Features gibt es im Java-17-Features-Artikel.
Zielgruppe
Der Kurs richtet sich an Java-Entwickler:innen, die auf dem aktuellen Stand bleiben wollen – verständlich, praxisnah und mit vielen Aha-Momenten. Idealerweise bringen die Teilnehmenden mindestens zwei Jahre praktische Erfahrung mit Java mit.
Auch für Teams, die bereits Java 17 einsetzen und ihr Wissen vertiefen oder auffrischen möchten, ist der Kurs gut geeignet.
Für Engineering Leads und Teams, die gezielt auf Java 17 upgraden oder ihr Team fit für die nächste LTS-Version machen wollen, ist dieser Kurs der richtige Einstieg.
Wer Java 17 und 21 gemeinsam aufholen will, findet das passende Angebot im Kombikurs Java 17 + 21 – oder gleich alle drei LTS-Versionen im Kombikurs Java 17 + 21 + 25.
Agenda
Wir behandeln die Themen nicht starr in der aufgeführten Reihenfolge. Stattdessen wechseln wir zwischen großen Features, kleineren Themen und Theorie ab – so bleibt es ausgewogen, und ihr könnt das Gelernte besser verarbeiten.
Major Features:
Weitere Neuerungen:
- Helpful
NullPointerExceptions - Hidden Classes
- Warnings for Value-Based Classes
- Context-Specific Deserialization Filters
- Unix-Domain Socket Channels
API-Erweiterungen:
- Neue
String-Methoden - Neue
Stream-Methoden Files.mismatch()- Neue
ByteBuffer-Methoden - Der Teeing-Collector
- Hex Formatting and Parsing Utility
- Enhanced Pseudo-Random Number Generators
InstantSource- Compact Number Formatting
Garbage Collection:
- Verbesserungen an G1 und Parallel GC
- ZGC und Shenandoah produktionsreif
- Elastic Metaspace
Performance:
- Default + Dynamic CDS Archives
- Non-Volatile Mapped Byte Buffers
- Spezialisierte
TreeMap-Implementierungen - Entkopplung von Compressed Oops und Compressed Class Pointers
Tools:
- JFR Event Streaming
- Packaging Tool
Deprecations & Löschungen:
Thread.suspend() und resume(): Deprecated for RemovalThreadGroup: stop(), destroy(), isDestroyed(), setDaemon() und isDaemon()- Biased Locking
- Security Manager: Deprecated for Removal
- Entfernt: CMS Garbage Collector
- Entfernt: Nashorn JavaScript Engine
- Entfernt: Pack200
- Entfernt: RMI Activation
- Entfernt: experimenteller AOT- und JIT-Compiler (Graal)
- und mehr...
Ausblick:
Agenda als PDF