Java 10 - Gestion des versions basée sur le temps
JEP 322 – Gestion des versions basée sur le temps
À partir de Java 10, Oracle a introduit un modèle de gestion des versions basé sur le temps strict pour les versions Java. Désormais, Java aura une version majeure tous les six mois. Java 10 est sorti en mars 2018 et à l'avenir, toutes les versions majeures devraient sortir en mars et septembre des années à venir. Les versions sont en outre classées en trois grandes catégories.
-
Version de fonctionnalité − Une version de fonctionnalité contient des fonctionnalités spécifiques à la langue, des fonctionnalités JVM, des API nouvelles/améliorées, la suppression/l'obsolescence des API. L'heure de ces versions de fonctionnalités est fixe et il n'y a aucune contrainte sur les fonctionnalités à inclure dans une version particulière. Si une fonctionnalité en cours de développement ne fait pas partie de la dernière version, elle sera planifiée dans la prochaine version.
-
Mettre à jour la version − Une version de mise à jour comprend des correctifs de bogues, des correctifs de problèmes de sécurité, des correctifs de régression, etc. Chaque version de mise à jour est planifiée par trimestre en janvier, avril, juillet et octobre. Chaque version de fonctionnalité recevra deux versions de mise à jour avant l'annonce de la prochaine version de fonctionnalité.
-
Version de support à long terme (LTS) − La version de support à long terme sera annoncée tous les trois ans à partir de septembre 2018. Oracle fournira un support et des mises à jour pour cette version pendant les trois prochaines années. Cette version est principalement destinée aux entreprises utilisant Java dans des déploiements de production.
Format des versions
Une version suit maintenant le format suivant.
$FEATURE.$INTERIM.$UPDATE.$PATCH
Où
-
$FEATURE − Ce numéro indique la version principale de la fonctionnalité et sera incrémenté de 1 après chaque version de la fonctionnalité. Pour Java 10, c'est 10.
-
$INTERIM − Ce numéro désigne toute version sans fonctionnalité ni mise à jour qui contient des corrections de bogues et des améliorations. Cette version n'a pas de modifications incompatibles, de suppression d'API ou de modification de l'API standard. Une version de fonctionnalité aura ce compteur à 0.
-
$MISE À JOUR − Ce numéro indique la version de mise à jour effectuée après une version de fonctionnalité. Par exemple, une version de mise à jour de Java en avril 2018 est JDK 10.0.1 et pour juillet 2018 est JDK 10.0.2 et ainsi de suite.
-
$PATCH − Ce numéro indique toute version d'urgence incrémentée uniquement dans le cas où un problème critique doit être promu de manière urgente.
Exemple
Le programme suivant montre les détails de version de 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()); } }
Sortie
Il imprimera la sortie suivante.
feature: 10 interim: 0 update: 2 patch: 0
Java