Java 10 – Übersicht
Java 10 ist eine Hauptversion im Java-Release-Kadenz und wurde am 10. März 2018 veröffentlicht. Mit Java 10 hat Oracle die Java-Release-Kadenz auf ein neues Modell geändert, ein 6-Monats-Release-Kadenz und ein LTS-Modell für Oracle Java SE-Produkte. LTS-Modell steht für Long Term Support-Modell.
Ab Java 10 veröffentlicht Oracle alle 6 Monate eine neue Version von Java, wobei jede Version ein oder zwei Hauptfunktionen enthält. Oracle verwendet ein Release-Train-Konzept. Jeder Freigabezug ist für 6 Monate geplant. Funktionen, die innerhalb dieses Zeitplans entwickelt werden, werden in der Version ausgeliefert, andernfalls werden die Funktionen in den nächsten Release-Zug verschoben.
Oracle JDK vs. OpenJDK
Die meisten Oracle JDK-Binärdateien sind urheberrechtlich geschützt und von Oracle lizenziert und unterliegen mehreren Beschränkungen für die Weiterverteilung. Wohingegen OpenJDK entwicklerfreundlicher ist. Ab Java 10 hat Oracle beschlossen, OpenJDK als primäres JDK zu fördern, um die Community-basierte Entwicklung von Java zu erleichtern. Oracle wird weiterhin eigene JDKs produzieren, diese aber nach 3 Jahren veröffentlichen und als LTS-Version bezeichnen. Daher werden OpenJDK-Binärdateien alle sechs Monate veröffentlicht.
OpenJDK ist Cloud- und Container-freundlich, da es als Teil des Containers frei verteilt werden kann. Der Schritt von Oracle, OpenJDK zu fördern, macht Java also benutzerfreundlicher für die Entwicklung und Bereitstellung von Clouds oder Containern.
Java 9 und Java 10 sind Nicht-LTS-Versionen. Java 11-Release ist ein LTS-Release.
Neue Funktionen
Im Folgenden sind die wichtigsten neuen Funktionen aufgeführt, die in Java 10 eingeführt wurden.
-
JEP 286 − Inferenz lokaler Variablentypen
-
JEP 322 − Zeitbasierte Release-Versionierung
-
JEP 304 − Garbage-Collector-Schnittstelle
-
JEP 307 − Parallele vollständige GC für G1
-
JEP 316 − Heap-Zuweisung auf alternativen Speichergeräten
-
JEP 296 − Konsolidieren Sie den JDK-Forest in einem einzigen Repository
-
JEP 310 − Gemeinsame Nutzung von Anwendungsklassendaten
-
JEP 314 − Zusätzliche Unicode-Sprach-Tag-Erweiterungen
-
JEP 319 − Stammzertifikate
-
JEP 317 − Experimenteller Java-basierter JIT-Compiler
-
JEP 312 − Thread-lokale Handshakes
-
JEP 313 − Entfernen Sie das Native-Header-Generierungstool
-
JEP 319 − Stammzertifikate
-
JEP 319 − Stammzertifikate
Java 10 erweiterte über 70 APIs mit neuen Methoden und Optionen und entfernte veraltete APIs und Optionen. Wir werden diese Änderungen in den nächsten Kapiteln sehen.
Java