Java-Versionsnotation, die sich in Java 10 ändert

(Dieser Artikel ist ein Multi-Post mit Gehe zum Horizont)

Java wurde seit Version 10 auf eine zeitbasierte Version umgestellt. Gleichzeitig hat sich die Versionsnotation erneut geändert, daher habe ich sie zusammengefasst. [^ 1]

[^ 1]: Aber fast das gleiche wie Java 9

Weitere Informationen finden Sie unter JEP 322: Zeitbasierte Release-Versionierung.

Versionsnummer

Es gibt vier Notationen: $ FEATURE. $ INTERIM. $ UPDATE. $ PATCH. Insbesondere wird es als "10.0.1.2" geschrieben. (Die Notation "Update auf Java 8" ist verschwunden)

Bedeutung zeitliche Koordinierung Nächstes Mal Inhalt
$FEATURE Feature-Release Alle sechs Monate März 2018 内容にかかわらずAlle sechs Monateにリリース
Feature-Ergänzungen, inkompatible Änderungen, Feature-Entfernung[^del]einschließlich
$INTERIM Zwischenfreigabe kein Plan - Kompatible Fehlerbehebungen und Verbesserungen[^enhancements]
(Enthält keine Änderungen an der Standard-API)
$UPDATE Release aktualisieren 1 Monat nach der Veröffentlichung des Features und danach alle 3 Monate April 2018
Juli 2018
Sicherheitsupdate
Fehlerbehebungen für die neuesten Funktionen
$PATCH Patch-Veröffentlichung Nur bei Bedarf - Minimale Lösung zur Lösung eines schwerwiegenden Problems

[^ del]: In diesem Fall wird dies mindestens in der vorherigen Feature-Version angekündigt. [^ Verbesserungen]: Es scheint, dass es sich um einen Fall wie JDK1.4.1, JDK1.4.2 handeln soll.

Detaillierte Regeln

Programmatische Erfassung

Diese können mit jeder Methode der Klasse Runtime.Version abgerufen werden.

jshell> Runtime.version().feature()
$1 ==> 10

jshell> Runtime.version().interim()
$2 ==> 0

jshell> Runtime.version().update()
$3 ==> 0

jshell> Runtime.version().patch()
$4 ==> 0

jshell> Runtime.version().pre()
$6 ==> Optional.empty

jshell> Runtime.version().build()
$5 ==> Optional[46]

jshell> Runtime.version().toString()
$7 ==> "10+46"

Ist es neuer als eine Version? Ist es alt? Wenn Sie überprüfen möchten, ist es besser, mit der compareTo-Methode zu vergleichen, als oben nacheinander zu vergleichen.

jshell> Runtime.version().toString()
$1 ==> "10+46"

jshell> Runtime.version().compareTo(Runtime.Version.parse("10.0.1")) > 0
$2 ==> false

jshell> Runtime.version().compareTo(Runtime.Version.parse("9.0.1")) > 0
$3 ==> true

Runtime.Version ist jedoch eine in Java 9 hinzugefügte Klasse. Bitte beachten Sie, dass Sie Java 8 oder eine frühere Version nur über die Systemeigenschaft "java.version" herunterladen können.

jshell> System.getProperty("java.version")
$4 ==> "10"

Apropos

"Veröffentlichungstermin [^ 3]" und "Herstellerversion" wurden zu den Systemeigenschaften hinzugefügt. Für das Oracle JDK scheint die Herstellerversion der ursprünglich geplante "Release Year.release Month" zu bleiben.

[^ 3]: Um genau zu sein, das Datum der GA. Die Eary Access-Version wird also ein zukünftiges Datum haben.

jshell> System.getProperty("java.version.date")
$1 ==> "2018-03-20"

jshell> System.getProperty("java.vendor.version")
$2 ==> "18.3"

Recommended Posts

Java-Versionsnotation, die sich in Java 10 ändert
Änderungen in Java 11
Vergleich der Java-Versionsnotation
Änderungen in Mockito 2
Partisierung in Java
Änderungen in mybatis-spring-boot-Starter 2.0
Änderungen im Mybatis-Spring-Boot-Starter 2.1
Änderungen im Mybatis-Spring-Boot-Starter 1.3
Java-Versionsprüfung
Janken in Java
Änderungen im Mybatis-Spring-Boot-Starter 1.2
Umfangsrate in Java
FizzBuzz in Java
Java, das eine Datei im Vmg-Format im EML-Format ausgibt
Versuchen Sie es mit Sourcetrail (Win-Version) mit Java-Code
Versuchen Sie es mit Sourcetrail (MacOS-Version) mit Java-Code
Eine Bat-Datei, die Java in Windows verwendet
Allzweck-StringConverter-Klasse, die Generika in Java8 verwendet
Lesen Sie JSON in Java
Interpreter-Implementierung durch Java
Machen Sie einen Blackjack mit Java
Janken App in Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
Änderungen von Java 8 zu Java 11
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Schreiben einer Klasse, die in Java bestellt werden kann Ein kleines Standard-Memo
Kommentare in der Java-Quelle
Azure funktioniert in Java
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Java-Version wechseln (Denkmal)
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Dies und das zum Bearbeiten von ini in Java. : inieditor-java
[Java] Erläutert die ConcurrentModificationException, die in java.util.ArrayList für Neulinge auftritt
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Änderungen in JUnit5M4-> M5
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java