
Mit Java 17 ist eine neue Version mit LTS-Support verfügbar. (Grafik: Oracle)
Alle sechs Monate erscheint eine neue Java-Version – die bis zum Erscheinen der nächsten unterstützt wird. LTS- oder Long-Term-Support-Releases wie Java 17 erhalten hingegen in der Regel Support für die Dauer von acht Jahren. Für die LTS-Releases Java 8 und 11 gilt ein erweiterter Support bis Dezember 2030 respektive September 2026. Anbieter kostenloser Open-JDK-Versionen gleichen ihre Supportzeiträume in der Regel an diese Daten an, vereinzelt überschreiten sie sie sogar.
Java 17 bringt einige neue Features mit, allerdings wenig Bahnbrechendes. Unter den größeren Neuerungen sind sogenannte geschlossene Klassen, die bereits in Java 15 in einer Preview verfügbar waren. In geschlossenen Klassen ist die Vererbung auf bestimmte Typen beschränkt. Sie verfügen über ein permits
-Statement, das erlaubte Subklassen spezifiziert.
public abstract sealed class Color
permits red, green, blue { ... }
Die native Unterstützung für macOS wurde verbessert, einschließlich einer neuen Rendering-Pipeline für Java 2D mit macOS Metal und einer Portierung auf Apple Silicon. Auch ein neuer Random-Number-Generator hat es in den Release geschafft. Das Verhalten von class.java.util.Random
soll dadurch allerdings nicht beeinflusst werden.
Neu in Java 17 ist die starke Abgrenzung von JDK-Internalen, wodurch die Blockierung des Zugriff auf interne APIs nicht mehr so leicht umgangen werden kann. Das vielgenutzte sun.mic.Unsafe-Statement bleibt aus Kompatibilitätsgründen bestehen.
Ein erweitertes Switch-Statement mit Pattern-Matching sowie die Foreign-Function-and-Memory-API sind in der neuen Version als Preview verfügbar. Laut der Doku soll die API eine sicherere und einfachere Alternative zum Java-Native-Interface bieten. Auch bekannt unter dem Namen Project Panama, ermöglicht es, native Bibliotheken in Java-Programmen aufzurufen und native Daten zu verarbeiten.
Entfernt wurden ebenfalls einige Features. Wahrscheinlich das prominenteste ist die Java Applet API. Die Schnittstelle geht zurück bis auf die Anfangstage der Programmiersprache und wird in der neuen Version 17 als veraltet markiert. Das Applet-Browser-Plugin wurde bereits in Version 11 entfernt – vollständig verschwinden soll die API voraussichtlich mit dem Erscheinen von Version 18 in sechs Monaten.
Ein weiteres Feature, das entfernt wurde, ist der experimentelle Ahead-of-Time-Compiler. Laut der Doku fand das Feature seit seiner Einführung wenig Anklang. Hinzu komme, dass der Wartungsaufwand unverhältnismäßig hoch sei. Der Hotspot-JIT-Compiler existiere hingegen noch – wer partout nicht auf den entfernten AOT-Compiler verzichten kann, wird an Oracles GraalVM verwiesen.
Die Migration von Java 11 auf die neue LTS-Version soll indes nicht so komplex sein, wie der Wechsel von der vorletzten LTS-Version Java 8 auf die letzte, JDK 11. Gegenüber the Register sagte Dalia Abo Sheasha, Java Developer Advocate bei Jet-Brains, die neu eingeführten Sealed Classes stellten dabei wahrscheinlich die größte Schwierigkeit. Sie habe vorgeschlagen, die Illegal-Access-Flag vorheriger Versionen beizubehalten, mit der Einführung der Neuerung sei diese jetzt nicht mehr vorhanden.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team