web-dev-qa-db-fra.com

Pourquoi le téléchargement d'Oracle JDK 9 se termine-t-il si tôt?

Je voulais installer JDK 9 sur ma machine, j'ai visité la page de téléchargement officielle de JDK et j'ai été surpris de voir,

Java SE 9 a atteint la fin du support. Les utilisateurs de Java SE 9 doivent passer à Java SE 10. Veuillez visiter notre page de téléchargements Java SE SE pour obtenir la version actuelle) version de Java SE. Vous serez redirigé vers la page de téléchargement Java SE dans ... secondes. Veuillez mettre à jour vos signets vers Java SE.

J'ai fait quelques recherches sur Google et Java historique des versions, etc. Mais je n'ai trouvé aucune raison concrète.

J'ai quelques questions-

  1. Oracle prend toujours en charge le JDK 1.8, mais a cessé de publier des mises à jour du JDK 9, pourquoi?
  2. Dois-je continuer à utiliser JDK 1.8 pendant un certain temps, puis passer directement à JDK 10?
13
Red Boy

Dans le passé, Java les versions majeures avaient souvent tendance à être chargées avec des fonctionnalités de grande envergure qui avaient un impact énorme sur le code que vous pouviez et deviez écrire, comme les génériques (Java 5) et les constructions fonctionnelles (Java 8).

Avec Java 9 Oracle a introduit un nouveau système de modularisation (projet Jigsaw), qui a également un impact énorme sur l'architecture JVM (bien que, pas tellement sur la syntaxe du langage). Ils ont dû reporter la publication de Java 9 deux fois en raison de désaccords sur la mise en œuvre de cette fonctionnalité avec d'autres membres influents de la communauté Java.

Tirant vraisemblablement une leçon de cela, Oracle a décidé de revoir le style de développement de Java pour être plus incrémentiel ou "agile", si vous voulez. Au lieu d'avoir des versions majeures chargées de fonctionnalités qui peuvent parfois prendre beaucoup ans pour terminer, ils veulent publier des versions majeures avec moins de nouvelles fonctionnalités chacune dans un calendrier de sortie fixe tous les six mois.

Java 9 et Java 10 sont les deux premières versions prévues avec ce nouveau modèle de version et Java 9 a déjà été déconseillé avec la version de Java 10. Java 11 , qui a été publié en septembre 2018, est un support à long terme (LTS) version avec support jusqu'en 2026 ( Source ). Ceci est très similaire à ce que beaucoup sont habitués au modèle de version d'Ubuntu (En passant, ils ont même prévu de remplacer les numéros de version par quelque chose impliquant l'année et le mois de sortie, similaire à ce que Canonical fait avec Ubuntu, mais ont abandonné cette idée pour une raison quelconque ).

L'utilisation d'une version non LTS de Java implique désormais un engagement à mettre à jour votre logiciel qui utilise le JDK tous les 6 mois. Il ne devrait pas être aussi impliqué que la migration de code à partir d'un seul majeur Java version à une autre dans le passé parce que, comme décrit, les changements de langage sont censés se produire de manière plus incrémentielle, mais c'est certainement quelque chose à considérer. Si vous ne voulez pas prendre cet engagement, vous devriez s'en tenir aux versions LTS, ce qui signifie s'en tenir à Java 8 ou Java 11.

Pour un nouveau projet "greenfield", Java 11 est probablement le meilleur choix maintenant. Mais il pourrait être nécessaire de s'en tenir à Java 8 si la chaîne d'outils à utiliser ne prend pas encore totalement en charge Java 11.

22
anothernode

Oracle est passé aux versions chronologiques. Cela signifie que vous obtiendrez une nouvelle version Java tous les 3 mois et une version à long terme toutes les quelques années.

Les versions à long terme devraient être prises en charge pendant 3 ans après la prochaine version, donc je ne m'attendrais pas à une nouvelle version de LTS avant la fin de 2019 ou le début de 2020, car décembre 2020 est la fin du support pour JDK 8.

3
Edwin Buck