Java 10 - Présentation
Java 10 est une version majeure de la cadence de publication de Java et elle a été publiée le 10 mars 2018. Avec Java 10, Oracle a modifié la cadence de publication de Java en un nouveau modèle, une cadence de publication de 6 mois et un modèle LTS pour les produits Oracle Java SE. Le modèle LTS signifie modèle de support à long terme.
À partir de Java 10, Oracle publie une nouvelle version de Java tous les 6 mois, chaque version contenant une ou deux fonctionnalités principales. Oracle utilise un concept de train de versions. Chaque train de sortie est prévu pour 6 mois. Les fonctionnalités développées dans ce délai sont livrées dans la version, sinon les fonctionnalités sont déplacées vers la prochaine version.
Oracle JDK contre OpenJDK
La plupart des binaires Oracle JDK sont la propriété et sous licence d'Oracle et ont de multiples restrictions sur la redistribution. Alors qu'OpenJDK est plus convivial pour la communauté des développeurs. À partir de Java 10, Oracle a décidé de promouvoir OpenJDK en tant que JDK principal pour faciliter le développement communautaire de Java. Oracle continuera à produire ses propres JDK, mais il les publiera après 3 ans et les qualifiera de version LTS. Les binaires OpenJDK seront donc publiés tous les six mois.
OpenJDK est compatible avec le cloud et les conteneurs car il peut être librement distribué dans le cadre du conteneur. Ainsi, la décision d'Oracle de promouvoir OpenJDK rend Java plus convivial pour le développement et le déploiement de cloud ou de conteneurs.
Java 9 et Java 10 ne sont pas des versions LTS. La version Java 11 est une version LTS.
Nouvelles fonctionnalités
Voici les principales nouvelles fonctionnalités introduites dans Java 10.
-
JEP 286 − Inférence de type de variable locale
-
JEP 322 − Gestion des versions basée sur le temps
-
PEC 304 − Interface Garbage-Collector
-
PEC 307 − GC complet parallèle pour G1
-
PEC 316 − Allocation de tas sur des périphériques de mémoire alternatifs
-
JEP 296 − Consolider la forêt JDK en un référentiel unique
-
JEP 310 − Partage de données de classe d'application
-
PEC 314 − Extensions supplémentaires de balise de langue Unicode
-
JEP 319 − Certificats racine
-
PEC 317 − Compilateur JIT expérimental basé sur Java
-
JEP 312 − Poignées de main locales de thread
-
PEC 313 − Supprimer l'outil de génération d'en-tête natif
-
JEP 319 − Certificats racine
-
JEP 319 − Certificats racine
Java 10 a amélioré plus de 70 API avec de nouvelles méthodes et options et a supprimé les API et options obsolètes. Nous verrons ces changements dans les prochains chapitres.
Java