Java: JDK 15 geht mit neuen Features in die General Availability
Das Wichtigste gleich vorweg: Java 15(öffnet im neuen Fenster) ist erneut keine LTS-Version, wird also nur bis zum Release von Java 16 in etwa sechs Monaten unterstützt und ist damit nicht für den produktiven Einsatz empfohlen. Laut den Planungen wird die nächste Version mit Long Time Support Java 17 sein, das für den Herbst 2021 erwartet wird. Trotzdem bieten diese nur kurz unterstützten Zwischenversionen einen guten Blick auf das Java der Zukunft. Und die Möglichkeit, sich mit neuen Features schon einmal bekanntzumachen, bevor sie ernsthaft in großen Projekten produktiv eingesetzt werden.
Alles in allem enthält die JDK 15 14 umgesetzte Java Enhancement Proposals (JEP), die zum Teil Bestandteil von größeren Projekten sind, die aufgrund ihres Umfangs nicht in ihrer Gesamtheit in ein einziges Update passen. Dazu kommen noch kleinere Änderungen, wie zum Beispiel die Unterstützung von Unicode Level 13.0 und das Hinzufügen einer isEmpty()-Methode zu der Klasse java.lanch.CharSequence.
Die größeren Änderungen stammen allerdings aus den JEPs in diversen Reifegraden. Manche davon sind als erste oder zweite Vorschau enthalten, andere haben inzwischen Produktionsreife erlangt und eine dritte Kategorie befasst sich mit Aufräumen: Veraltete Komponenten werden entfernt oder als "Deprecated" erklärt.
Für Java 15 entfernt wurde die Nashorn-Engine für Javascript ( JEP 378(öffnet im neuen Fenster) ), die erst in Java 8 eingeführt wurde, deren Pflege sich aber als zu aufwendig erwies. Entfernt wurden außerdem die Ports auf Solaris und Sparc ( JEP 381(öffnet im neuen Fenster) ). Biased Locking wurde als "Default" abgeschaltet und als "Deprecated" erklärt ( JEP 374(öffnet im neuen Fenster) ) und auch die RMI Activation ist nun als Vorbereitung zum Entfernen "Deprecated" ( JEP 385(öffnet im neuen Fenster) ).
Bei den Klassentypen gibt es auch viel Neues. Sealed Classes und Interfaces als Preview ( JEP 360(öffnet im neuen Fenster) ) erlauben zu spezifizieren, wer erben oder implementieren darf und gestatten damit eine enge Kopplung. Hidden Classes ( JEP 371(öffnet im neuen Fenster) ) sind für Frameworks gedacht, die Klassen zur Laufzeit generieren und von den Records gibt es ein zweites, erweitertes Preview ( JEP 384(öffnet im neuen Fenster) ).
Weitere Features sind Textblöcke ( JEP 378(öffnet im neuen Fenster) ), die nach dem ersten und zweiten Preview in Java 13 beziehungsweise Java 14 zum Standard erhoben wurden, eine neue Implementierung der DatagramSocket API ( JEP 373(öffnet im neuen Fenster) ), Pattern Matching für instanceof ( JEP 375(öffnet im neuen Fenster) ) als zweite Preview und verändert zum ersten Preview, weil man sich mehr Feedback erhofft, die Foreign Meemory Access API ( JEP 383(öffnet im neuen Fenster) ) als zweiter Inkubator und für digitale Signaturen die Implementierung des Edwards-Curve-Digital-Signature-Algorithmus ( JEP 339(öffnet im neuen Fenster) ). Die beiden neuen Garbage Collectors ZGC ( JEP 377(öffnet im neuen Fenster) ) und Shenandoah ( JEP 379(öffnet im neuen Fenster) ), optimiert für geringe Latency beziehungsweise kurze Pausenzeiten, wurden als bereit für den Einsatz in produktiven Umgebungen erklärt.
Eine umfassende Liste mit allen Änderungen befindet sich hier(öffnet im neuen Fenster) .
- Anzeige Hier geht es zu JavaScript: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



