Notation de version Java qui change dans Java 10

(Cet article est un article multiple avec Aller à l'horizon)

Java est passé à une version basée sur le temps depuis la version 10. Parallèlement à cela, la notation de la version a encore changé, je l'ai donc résumée. [^ 1]

[^ 1]: mais presque identique à Java 9

Voir JEP 322: gestion des versions de version en fonction du temps pour plus de détails.

Numéro de version

Il y a quatre notations: $ FEATURE. $ INTERIM. $ UPDATE. $ PATCH. Plus précisément, il s'écrit «10.0.1.2». (La notation "Mise à jour jusqu'à Java 8" a disparu)

sens Horaire La prochaine fois Contenu
$FEATURE Sortie de fonctionnalité Tous les six mois Mars 2018 内容にかかわらずTous les six moisにリリース
Ajout de fonctionnalités, modifications incompatibles, suppression de fonctionnalités[^del]comprenant
$INTERIM Libération intermédiaire pas d'idée - Corrections de bogues et améliorations compatibles[^enhancements]
(N'inclut pas les modifications apportées à l'API standard)
$UPDATE Mettre à jour la version 1 mois après la sortie de la fonctionnalité, et tous les 3 mois par la suite Avril 2018
Juillet 2018
Correction de sécurité
Corrections de bogues pour les dernières fonctionnalités
$PATCH Publication du patch Seulement en cas de besoin - Solution minimale pour résoudre un problème grave

[^ del]: Dans ce cas, il sera annoncé au moins dans la version précédente de la fonctionnalité. [^ améliorations]: Il semble que ce soit censé être un cas comme JDK1.4.1, JDK1.4.2.

Règles détaillées

--Si tous les chiffres après un certain chiffre sont 0, omettez-le.

Acquisition programmatique

Ceux-ci peuvent être obtenus avec chaque méthode de la classe Runtime.Version.

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"

Est-ce plus récent qu'une version? Est-il vieux? Si vous voulez vérifier, il vaut mieux comparer avec la méthode compareTo que de comparer un par un ci-dessus.

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

Cependant, Runtime.Version est une classe ajoutée dans Java 9. Veuillez noter que si vous devez prendre en charge Java 8 ou version antérieure, vous ne pouvez l'obtenir qu'à partir de la propriété système java.version.

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

Au fait

"Date de sortie [^ 3]" et "Version du fournisseur" ont été ajoutés aux propriétés système. Pour le JDK Oracle, la version du fournisseur semble rester le "mois de publication de l'année de sortie" initialement prévu.

[^ 3]: Pour être exact, la date de l'AG. Ainsi, la version Eary Access aura une date ultérieure.

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

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

Recommended Posts

Notation de version Java qui change dans Java 10
Changements dans Java 11
Comparaison de la notation de la version Java
Changements dans Mockito 2
Partition en Java
Changements dans mybatis-spring-boot-starter 2.0
Changements dans mybatis-spring-boot-starter 2.1
Changements dans mybatis-spring-boot-starter 1.3
Vérification de la version Java
Janken à Java
Changements dans mybatis-spring-boot-starter 1.2
Taux circonférentiel à Java
FizzBuzz en Java
java qui génère un fichier au format vmg au format eml
Essayez d'utiliser Sourcetrail (version win) avec du code Java
Essayez d'utiliser Sourcetrail (version macOS) avec du code Java
Un fichier bat qui utilise Java dans Windows
Classe StringConverter à usage général qui utilise des génériques dans Java8
Lire JSON en Java
Implémentation de l'interpréteur par Java
Faites un blackjack avec Java
Application Janken en Java
Programmation par contraintes en Java
Mettez java8 dans centos7
Changements de Java 8 à Java 11
NVL-ish guy en Java
Joindre des tableaux en Java
"Hello World" en Java
Interface appelable en Java
Ecrire une classe qui peut être ordonnée en Java Un petit mémo standard
Commentaires dans la source Java
Fonctions Azure en Java
Formater XML en Java
Simple htmlspecialchars en Java
Implémentation Boyer-Moore en Java
Hello World en Java
Utiliser OpenCV avec Java
Mémorandum WebApi avec Java
Changement de version Java (mémorial)
Détermination de type en Java
Exécuter des commandes en Java (ping)
Divers threads en java
Implémentation du tri de tas (en java)
API Zabbix en Java
Art ASCII à Java
Comparer des listes en Java
POST JSON en Java
Ceci et cela pour éditer ini en Java. : inieditor-java
[Java] explique ConcurrentModificationException qui se produit dans java.util.ArrayList pour les nouveaux arrivants
Exprimer l'échec en Java
Créer JSON en Java
Manipulation de la date dans Java 8
Nouveautés de Java 8
Changements dans JUnit5M4-> M5
Utiliser PreparedStatement en Java
Nouveautés de Java 9,10,11
Exécution parallèle en Java