Java 21: Die neuen Features rund um Pattern Matching und Virtual Threads
Dieser Workshop findet am Dienstag, 5. September 2023, in Nürnberg statt.
Java 21 bringt jede Menge neuer Funktionen. Einige werden finalisiert, andere sind noch in einem Preview-Modus. Wir wollen uns in diesem Workshop mit zwei der größeren Themenbereichen beschäftigen: Pattern Matching und Virtual Threads.
Seit einiger Zeit wird Java um Pattern Matching erweitert. Dieses eigentlich aus funktionalen Programmiersprachen bekannte Feature ermöglicht elegantere Lösungsansätze bei der Verarbeitung von Datenstrukturen und macht den Java-Code verständlicher und wartbarer. Wir schauen uns gemeinsam die bereits finalen Funktionen wie Switch Expression, Records, Sealed Classes, Type sowie Record Patterns und Pattern Matching for switch an. Wir werfen auch einen Blick auf die noch in Arbeit oder der Planung befindlichen Themen wie die Unnamed oder die Array Patterns.
Virtuelle Threads sind eine der spektakulärsten Neuerungen der letzten Jahre. Sie erlauben es, die konkurrierende Verarbeitung von parallel ausgeführten Aufgaben auch bei einer großen Anzahl an Threads zu implementieren und dabei dank der Structured Concurrency auch leicht les- und gut wartbaren Code zu schreiben. Mit den Scoped Values ist zudem eine Alternative zu den ThreadLocal-Variablen in Arbeit.
In diesem Workshop wollen wir uns anhand von praktischen Beispielen die neuesten Features erarbeiten und anhand typischer Aufgabenstellungen direkt gemeinsam ausprobieren. Außerdem werfen wir einen Blick auf weitere Neuerungen wie String Templates, Unnamed Classes, Sequenced Collections usw.
Vorkenntnisse
- Grundlegende Kenntnisse in Java 8 oder 11
- Interesse an datenorientierter Programmierung und funktionalen Konstrukten
- Erste Erfahrungen mit Nebenläufigkeit
Lernziele
- Die neuen Features nicht nur kennenlernen, sondern auch ausprobieren
- Auf Basis des Gelernten entscheiden, welche der Funktionen für die Praxis relevant werden
- Sich mit der zukünftigen Entwicklung von Java vertraut machen