Java 10 – Zeitbasierte Versionsverwaltung
JEP 322 − Zeitbasierte Versionsverwaltung
Ab Java 10 hat Oracle ein streng zeitbasiertes Release-Versionierungsmodell für Java-Releases eingeführt. Jetzt wird Java alle sechs Monate eine Hauptversion haben. Java 10 wurde im März 2018 veröffentlicht und alle Hauptversionen sollen in den Monaten März und September der kommenden Jahre veröffentlicht werden. Veröffentlichungen werden weiter in drei große Kategorien eingeteilt.
-
Feature-Release − Ein Feature Release enthält sprachspezifische Features, JVM-Features, neue/verbesserte APIs, Entfernen/Veralten von APIs. Der Zeitpunkt dieser Feature-Releases ist festgelegt, und es gibt keine Einschränkung hinsichtlich der Features, die in einem bestimmten Release enthalten sein müssen. Wenn eine in Entwicklung befindliche Funktion nicht Teil der neuesten Version ist, wird sie in der nächsten Version geplant.
-
Aktualisierungsversion − Ein Update-Release umfasst Bugfixes, Sicherheitsproblembehebungen, Regressionskorrekturen usw. Jedes Update-Release ist pro Quartal in den Monaten Januar, April, Juli und Oktober geplant. Jedes Feature-Release erhält zwei Update-Releases, bevor das nächste Feature-Release angekündigt wird.
-
Long Term Support (LTS)-Release − Long Term Support Release wird ab September 2018 alle drei Jahre angekündigt. Oracle wird Support und Updates für dieses Release für die nächsten drei Jahre bereitstellen. Diese Version ist hauptsächlich für Unternehmen gedacht, die Java in Produktionsumgebungen verwenden.
Versionsformat
Eine Version folgt jetzt dem folgenden Format.
$FEATURE.$INTERIM.$UPDATE.$PATCH
Wo
-
$FEATURE − Diese Zahl bezeichnet das Major Feature Release und wird nach jedem Feature Release um 1 erhöht. Für Java 10 sind es 10.
-
$INTERIM − Diese Nummer bezeichnet alle Versionen ohne Funktionen und Updates, die Fehlerkorrekturen und Verbesserungen enthalten. Diese Version enthält keine inkompatiblen Änderungen, API-Entfernungen oder Änderungen an der Standard-API. Ein Feature-Release hat diesen Zähler als 0.
-
$UPDATE − Diese Nummer bezeichnet die Update-Version, die nach einer Feature-Version erstellt wurde. Beispielsweise ist eine Aktualisierungsversion von Java im April 2018 JDK 10.0.1 und für Juli 2018 JDK 10.0.2 und so weiter.
-
$PATCH − Diese Nummer bezeichnet eine Notfreigabe, die nur erhöht wird, wenn ein kritisches Thema auf dringender Basis gefördert werden soll.
Beispiel
Das folgende Programm zeigt die Versionsdetails von JAVA 10.
public class Tester { public static void main(String[] args) { Runtime.Version version = Runtime.version(); System.out.printf(" feature: %s%n interim: %s%n update: %s%n patch: %s%n", version.feature(), version.interim(), version.update(), version.patch()); } }
Ausgabe
Es wird die folgende Ausgabe ausgegeben.
feature: 10 interim: 0 update: 2 patch: 0
Java