HomeRatgeberJava

Neues in Java 11

Java 10 wurde im März 2018 final und der Nachfolger ist Java 11 (auch Java 18.9). Das Release war am 25. September 2018, Nachfolger ist Java 12.

Wie bei Java 10 bildet das OpenJDK die Referenzimplementierung, auf dessen Basis das Oracle JDK stehen wird. Oracle stellt OpenJDK Build bereit. Nach Änderungen im Lizensierungsmodell ist das Oracle JDK nur noch kostenfrei für die Entwicklung und Tests von Java-Anwendungen, aber nicht mehr für Produktivsysteme.

JEPs (JDK Enhancements)

Realisierte JEPs (JDK Enhancements) sind:

Wichtige Änderungen

Entfernte Module

Diverse @Deprecated-Dinge wurden in Java 11 entfernt. Darunter fallen auch die großen Module:

  • java.activation
  • java.corba
  • java.se.ee (Aggregator)
  • java.transaction
  • java.xml.bind
  • java.xml.ws
  • java.xml.ws.annotation

JavaFX Entfernung

JavaFX wird ebenfalls aus Java 11 entfernt. Die Entwicklung findet im OpenJFX statt.

Wichtige Features im Detail

HTTP Client (JEP 321)

Der neue standardisierte HTTP Client ersetzt die bisherigen HTTP-Implementierungen und bietet moderne Funktionen wie HTTP/2-Unterstützung.

Local-Variable Syntax für Lambda (JEP 323)

Ermöglicht die Verwendung von var in Lambda-Parametern für bessere Lesbarkeit.

ZGC - Experimenteller Garbage Collector (JEP 333)

Ein neuer, skalierbarer Garbage Collector mit niedriger Latenz für große Heap-Größen.

Single-File Source Programs (JEP 330)

Java-Programme können direkt ausgeführt werden, ohne vorherige Kompilierung in eine .class-Datei.

Nest-Based Access Control (JEP 181)

Verbesserte Zugriffskontrolle für verschachtelte Klassen, die die JVM-Unterstützung für Nested Classes optimiert.

Weiterführende Dokumentation

Java 11 ist ein wichtiger Meilenstein als LTS-Version und bringt viele praktische Verbesserungen für die tägliche Entwicklung.