« Alle Java-Schulungen

Kombikurs Java 17, 21 und 25 – intensiv (6 Tage)

Dauer: 6 Tage
Format: virtuell oder vor Ort

Beschreibung

In diesem sechstägigen Intensivkurs lernt ihr alle wichtigen Neuerungen der Java-Versionen 12 bis 25 kennen – kompakt, tiefgehend und mit einem klaren Fokus auf den praktischen Nutzen im Projektalltag.

Aus dem Java-17-Kurs

Ihr startet mit den Neuerungen von Java 12 bis 17: moderne Sprachfeatures wie Records, Switch Expressions, Pattern Matching for instanceof, Text Blocks und Sealed Classes machen euren Code eleganter und wartbarer.

Dazu kommen API-Erweiterungen, z. B. neue Methoden in String, Stream und Files, sowie Verbesserungen an der Garbage Collection und Performance-Optimierungen unter der Haube.

Aus dem Java-21-Kurs

Im Anschluss behandelt ihr die zentralen Neuerungen von Java 18 bis 21: darunter Record Patterns, Pattern Matching for switch, Virtual Threads und die Sequenced Collections API.

Ergänzt wird das durch viele kleine, aber nützliche Verbesserungen – etwa UTF-8 by default, neue Math- und String-Methoden, sowie Optimierungen bei Garbage Collection und Locking.

Aus dem Java-25-Kurs

Den Abschluss bilden die Highlights aus Java 22 bis 25 – darunter Unnamed Variables & Patterns, die neue Stream Gatherers API, Scoped Values, Markdown Documentation Comments und die leistungsfähige Foreign Function & Memory API.

Weitere Themen sind Compact Source Files, die Instance Main Method sowie Performance-Features wie Ahead-of-Time Class Loading und Compact Object Headers.

Übungen & Ausblick

In zahlreichen praxisnahen Übungen setzt ihr das Gelernte direkt um und entwickelt ein tiefes Verständnis für den produktiven Einsatz im Projektalltag.

Zum Abschluss bekommt ihr einen Ausblick auf kommende Features wie Structured Concurrency, Stable Values, Primitive Types in Patterns und die Vector API, die Java auch in Zukunft leistungsfähig und modern halten.

Inhouse-Schulung anfragen »

Zielgruppe

Der Kurs richtet sich an Java-EntwicklerInnen, die ein umfassendes Update zu den aktuellen Java-Versionen benötigen – von Java 12 bis einschließlich Java 25.

Ob ihr gerade von Java 11 auf eine aktuelle LTS-Version umsteigen wollt oder bereits Java 17 oder 21 nutzt und nun alle Entwicklungen bis Java 25 strukturiert erschließen möchtet: In diesem Kurs bekommt ihr das komplette Wissen in kompakter Form.

Ideal für Teams, die aktuelle Sprachfeatures, API-Erweiterungen und Performance-Optimierungen gezielt im Projektalltag einsetzen wollen – verständlich, praxisnah und mit Raum für individuelle Fragen.

Kursinfos

Dauer: 6 Tage (alternativ: 5 Tage)
Termin nach Wunsch
Exklusiv für dein Team
In euren Räumlichkeiten oder virtuell
Kursinhalt auf Wunsch anpassbar
Sprache: deutsch oder englisch
Teilnahmezertifikat

Preise

Inhouse vor Ort:  11.820,– EUR
zzgl. Reisekosten des Trainers
Virtuell:  9.730,– EUR
Die Preise verstehen sich ohne individuelle Anpassungen und zzgl. der am Ort der Schulung anwendbaren Umsatzsteuer.

Agenda

Wir werden die Themen nicht starr in der aufgeführten Reihenfolge behandeln. Stattdessen wechseln wir zwischen großen Features, kleineren Themen und Theorie ab. So bleibt es spannend und ausgewogen, und ihr könnt das Gelernte besser verarbeiten.

Teil 1: Java 12-17

Major Features:
  • switch Expressions
  • Text Blocks
  • Records
  • Pattern Matching for instanceof
  • Sealed Classes
  • Strongly Encapsulate JDK Internals
Weitere Neuerungen:
  • Helpful NullPointerExceptions
  • Hidden Classes
  • Warnings for Value-Based Classes
  • Context-Specific Deserialization Filters
API-Erweiterungen:
  • Neue String-Methoden
  • Neue Stream-Methoden
  • Neue Files-Methoden
  • Neue ByteByffer-Methoden
  • Der Teeing-Collector
  • Hex Formatting and Parsing Utility
Garbage Collection:
  • Verbesserungen an G1 und Parallel GC
  • Neu: ZGC und Shenandoah
  • 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:
  • Thread suspend(), resume()
  • ThreadGroup stop(), destroy(), isDestroyed(), setDaemon(), and isDaemon()
  • Biased Locking
  • und mehr...

Teil 2: Java 18-21

Major Features:
  • Virtual Threads
  • Sequenced Collections
  • Record Patterns
  • Pattern Matching for switch
Weitere Neuerungen:
  • UTF-8 by Default
  • Simple Web Server
  • Code Snippets in Java API Documentation
  • New System Properties for System.out and System.err Encoding
  • Compiler Warnings for Lossy Type Casts
  • Key Encapsulation Mechanism API
Bugfixes:
  • IdentityHashMap's remove() and replace() Methods Use Object Identity
API-Erweiterungen:
  • Neue String-, StringBuilder-, StringBuffer-Methoden
  • Neue Character-Methoden
  • Neue Math-Methoden
  • HashMap.newHashMap()
  • Additional Date-Time Formats
Garbage Collection:
  • String Deduplication for ZGC, SerialGC, ParallelGC
  • G1 Verbesserungen
  • Generational ZGC
Performance:
  • Generational ZGC
  • Alternative Fast-Locking Scheme
Deprecations & Löschungen:
  • Deprecate Finalization for Removal
  • Locale constructors
  • URL constructors
  • Thread.stop(), suspend(), resume()
  • ThreadGroup
  • Dynamic Loading of Agents

Teil 3: Java 21-25

Major Features:
  • Unnamed Variables & Patterns
  • Foreign Function & Memory API
  • Markdown Documentation Comments
  • Stream Gatherers
  • Synchronize Virtual Threads without Pinning
  • Scoped Values
  • Compact Source Files and Instance Main Methods
Weitere Neuerungen:
  • Module Import Declarations
  • Launch Multi-File Source-Code Programs
  • Console Methods With Explicit Locale
  • Class-File API
  • Key Derivation Function API
API-Erweiterungen:
  • Locale-Dependent List Patterns
  • Support for Duration Until Another Instant
Garbage Collection:
  • Verbesserungen für den G1 GC
  • ZGC: Generational Mode by Default
Performance / Memory Footprint:
  • Compact Object Headers
  • Ahead-of-Time Class Loading & Linking
  • Relax alignment of array elements
  • Change LockingMode default from LM_LEGACY to LM_LIGHTWEIGHT
  • Linking Run-Time Images without JMODs
Deprecations & Löschungen:
  • Thread.countStackFrames()
  • Old Core Reflection Implementation
  • Deprecations und Löschungen in sun.misc.Unsafe
  • Thread.suspend(), resume() und ThreadGroup.suspend(), resume(), stop()
  • Security Manager
Ausblick:
  • Primitive Types in Patterns, instanceof, and switch
  • Stable Values
  • Vector API
  • Structured Concurrency

Inhouse-Training anfragen

Anfrage Schulung Spezifischer Kurs (#30)

Euer Trainer: Sven Woltmann

Sven Woltmann

Ich bin Java-Experte mit über 20 Jahren Erfahrung – als Entwickler, Architekt, CTO, Performance-Coach und Trainer.

Ich habe bei Unternehmen wie 1&1, IONOS und ICE Services komplexe Enterprise-Systeme mit Milliarden-Datenmengen konzipiert, monolithische Altanwendungen modernisiert und Teams geholfen, robuste, wartbare und performante Java-Anwendungen zu entwickeln.

Mit HappyCoders.eu habe ich einen der meistgelesenen Java-Blogs im deutschsprachigen Raum aufgebaut. Ich halte Vorträge auf Konferenzen und Java User Groups und erhalte immer wieder das Feedback, dass ich komplexe technische Konzepte verständlich erklären kann.

Was ihr in meinen Schulungen bekommt:

  • Langjährige Erfahrung: Tiefes Java-Wissen kombiniert mit echter Projektpraxis
  • Praxisbezug: Viele Hands-On-Übungen, inspiriert von realen Projektsituationen
  • Erfahrungsaustausch: Raum für eure Fragen, Diskussionen und konkrete Herausforderungen
  • Fokus auf euer Team: Inhalte können flexibel auf eure Ziele abgestimmt werden

Ich vermittle nicht nur Features, sondern zeige euch, wie ihr mit dem richtigen Java-Verständnis langfristig bessere Software entwickelt.

Mehr über mich »

Format & Voraussetzungen

  • Lernmethode: Kurze Theorieblöcke, dann sofort in die Praxis – mit Übungen, Codebeispielen und echten Szenarien aus dem Entwickleralltag.
  • Unterlagen: Alle Materialien (Slides und Code) werden zu Beginn des Kurses zur Verfügung gestellt.
  • Anpassung an die Teilnehmer: Wenn erforderlich, passe ich das Kurstempo flexibel an den Wissensstand der Gruppe an. Je nach Situation können dann eventuell nicht alle Inhalte vollständig behandelt werden.
  • Technische Vorraussetzungen: Eigener Laptop oder Workstation mit installiertem Java 25 (oder neuer) und IDE (ich empfehle IntelliJ IDEA)

Relevante weitere Trainings