Java 23 mit erweitertem Pattern Matching im Test

Java 23 enthält einige Features auf Wiedervorlage, aber auch neue. Es gibt mehr Optionen für Entwickler beim Pattern Matching und Markdown-Syntax für JavaDoc.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 33 Min.
Von
  • Falk Sippach
Inhaltsverzeichnis

Das JDK 23 enthält einige Features, die als Preview oder Inkubator enthalten sind. Die Macher des OpenJDK wollen ihre Ideen möglichst früh unters Volk bringen, um Feedback zu bekommen. In der Wiedervorlage sind etwa die Class-File API (Second Preview), Stream Gatherers (Second Preview), Implicitly Declared Classes and Instance Main Methods (Third Preview), Structured Concurrency (Third Preview), Scoped Values (Third Preview), Flexible Constructor Bodies (Second Preview) und die Vector API. Doch auch neue Themen gibt es, etwa primitive Typen in Patterns, instanceof und switch (Preview), Markdown Documentation Comments und Module Import Declarations.

Die Vector API ist bereits zum achten Mal als Inkubator mit an Bord und taucht seit Java 16 regelmäßig in den Releases auf. Dabei geht es um den Umgang von SIMD-Rechnerarchitekturen mit Vektorprozessoren. Single Instruction Multiple Data (SIMD) lässt viele Prozessoren gleichzeitig unterschiedliche Daten verarbeiten. Durch die Parallelisierung auf Hardwareebene verringert sich beim SIMD-Prinzip der Aufwand für rechenintensive Schleifen. Der Grund für die erneute Inkubationsphase sind die weiterhin noch nicht eingeführten Value Types.

iX-tract
  • Beim Pattern Matching dürfen Entwickler im JDK 23 alle primitiven Datentypen verwenden.
  • Der in Java 21 eingeführte Generational Mode ist jetzt die Defaulteinstellung beim alternativen Z Garbage Collector.
  • JavaDoc-Kommentare lassen sich nun mit Markdown formatieren, bislang war das nur mit HTML möglich.

Das OpenJDK-Team wartet auf die Reformen am Typsystem, das mit den primitiven und den Referenztypen (Klassen) derzeit zweigeteilt ist. Ursprünglich aus Performanceoptimierungsgründen eingeführt, haben primitive Datentypen aber im Handling entscheidende Nachteile. Referenztypen sind auch nicht immer die beste Wahl, vor allem, was Effizienz und Speicherverbrauch betrifft. Es braucht etwas, was sich so schlank und performant wie primitive Datentypen verhält, aber auch die Vorzüge von selbst zu erstellenden Referenztypen in Form von Klassen kennt.

Das war die Leseprobe unseres heise-Plus-Artikels "Java 23 mit erweitertem Pattern Matching im Test". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.