Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

JDK 10 : la première release candidate est maintenant disponible
La sortie de la version stable est prévue pour le 20 mars

Le , par Michael Guilloux

169PARTAGES

20  1 
Mise à jour le 20/03/2018 : Oracle annonce la sortie officielle de Java 10

Oracle a annoncé aujourd'hui la disponibilité générale de Java 10 (JDK 10 ou Java SE 10), la première version sortie après l'adoption du nouveau cycle de publication de six mois. Malgré cette courte période de travail par rapport aux versions précédentes, Java 10 n'est pas juste une version plus stable et plus performante de Java 9. Cette version fournit au contraire un certain nombre de nouvelles fonctionnalités. Elle introduit notamment douze nouvelles améliorations majeures définies par les JEP (présentées plus bas) et dont les développeurs peuvent dès maintenant tirer parti.

Précisons toutefois qu'en raison du nouveau cycle de publication, JDK 10 ne sera supporté par Oracle que pendant six mois jusqu'à la sortie de JDK 11 LTS. Mais il est recommandé de passer à cette nouvelle version puisque la sortie du JDK 10 annonce également la fin des mises à jour et correctifs de sécurité gratuits pour le JDK 9.

Source : Blog Oracle

18/12/2017 : Conformément au calendrier de sortie du JDK 10, Mark Reinhold d'Oracle a annoncé le début de la phase Rampdown 1. Cette étape marque le gel de l'ensemble des fonctionnalités du JDK et le début de la correction des bogues. Dans une proposition, l'architecte en chef du JDK chez Oracle a donc défini ses objectifs pour cette nouvelle phase. Il s'agit notamment de corriger tous les bogues de priorité P1-P3 qui sont nouveaux dans le JDK 10 et des bogues P1-P3 supplémentaires ciblés pour le JDK 10 si le temps le permet. Il s'agira aussi de reporter tous les bogues P1-P2 qui sont nouveaux dans JDK 10, mais qui, pour une bonne raison, ne seront pas corrigés dans le JDK 10.

À ce stade, il est donc très peu probable d'introduire de nouveaux changements, excepté des améliorations tardives et à faible risque qui ajoutent de petits éléments de fonctionnalités manquantes ou améliorent la convivialité. Dans ce cas encore, il faudra que cela soit justifié par les feedbacks des développeurs, avant d'être approuvé. Les améliorations apportées aux tests et à la documentation quant à elles n'auront pas besoin d'approbation, à condition qu'elles soient identifiées par les labels appropriés noreg-self ou noreg-doc.

Pour en venir aux fonctionnalités de cette version, on peut citer les suivantes :

  • JEP 286 - Inférence du type des variables locales, qui vise à améliorer le langage Java pour étendre l'inférence de type aux déclarations de variables locales avec des initialiseurs ;
  • JEP 296 - Consolider la JDK Forest dans un référentiel unique. En combinant les nombreux référentiels du JDK Forest dans un référentiel unique, l'objectif est de simplifier et de rationaliser le développement. L'ajout des sources FX au JDK Forest ne fait toutefois pas partie de la proposition ;
  • JEP 304 - Interface Garbage-Collector. Ce JEP vise à améliorer l'isolation du code source des différents garbage collectors en introduisant une interface « propre » de garbage collector (GC) ;
  • JEP 307 - Récupération de mémoire complètement en parallèle pour le garbage collector G1 : améliorer les pires cas de latence de G1 en implémentant le parallélisme ;
  • JEP 310 - Application Class-Data Sharing. L'objectif est de réduire l'empreinte en partageant les métadonnées de classe communes entre les différents processus Java, améliorer le temps de démarrage et étendre la fonctionnalité Class-Data Sharing (CDS) existante pour permettre aux classes d'applications d'être placées dans l'archive partagée ;
  • JEP 312 - Introduction d'un moyen d'exécuter un callback sur les threads sans effectuer de safepoint VM global. Des threads individuels pourront être arrêtés au lieu que ça soit seulement possible d'arrêter tous les threads ou aucun thread ;
  • JEP 313 - Suppression de l'outil javah du JDK. Cette décision a été motivée par le fait que l'outil a été remplacé par une meilleure fonctionnalité dans javac, ajoutée dans le JDK 8. Cette fonctionnalité permet d'écrire des fichiers d'en-tête natifs au moment de la compilation du code source Java, ce qui élimine le besoin d'un outil distinct ;
  • JEP 314 - Amélioration de java.util.Locale et les API associées pour implémenter des extensions Unicode supplémentaires des balises de langue BCP 47. À partir de Java SE 9, les extensions de balises de langue BCP 47 U prises en charge sont ca et nu. Le JEP 314 ajoute le support pour les extensions supplémentaires cu (currency type), fw (first day of week), rg (region override) et tz (time zone) ;
  • JEP 316 - Allocation de tas sur d'autres dispositifs de mémoire : permettre à la machine virtuelle HotSpot d'allouer le tas d'objets Java sur un autre périphérique de mémoire, tel qu'un NV-DIMM, spécifié par l'utilisateur ;
  • JEP 317 - Compilateur JIT Java expérimental : permettre au compilateur JIT basé sur Java, Graal, d'être utilisé comme compilateur JIT expérimental sur Linux/x64 ;
  • JEP 319 - Certificats racines : fournir un ensemble par défaut de certificats d'autorité de certification (CA) racines dans le JDK. L'objectif est d'ouvrir les certificats racines dans le programme Java SE Root CA d'Oracle afin de rendre les builds OpenJDK plus attrayantes pour les développeurs et réduire les différences entre ces builds et les builds Oracle JDK ;
  • JEP 322 - Versioning basé sur le temps. Cette décision s'explique par le fait que le modèle de versioning introduit avec le JEP 223 (qui distingue facilement les versions majeures, mineures et de mise à jour de sécurité) n'est plus adapté aux prochaines versions du JDK. Oracle prévoit en effet de livrer de nouvelles versions de la plateforme Java SE et du JDK tous les six mois.

La sortie du JDK 10 est prévue pour le 20 mars 2018.

Mise à jour le 13/02/2018 : la première release candidate du JDK 10 est maintenant disponible

La dernière release candidate du JDK 10 étant attendue pour le 22 février, Oracle vient de publier la première RC. Dans un message dans la liste de diffusion de l’OpenJDK, Mark Reinhold, l’architecte en chef du JDK chez Oracle a annoncé hier qu’il n’y a pas de bogues de priorité P1 non résolus dans la dernière build 43, alors elle sera la première RC du JDK 10. Les binaires sont disponibles en téléchargement ici. Oracle ne va maintenant corriger que les bogues qui sont vraiment critiques pour la sortie du JDK.

Sources : Fonctionnalités du JDK 10, Gel des fonctionnalités du JDK 10, Annonce de la première release candidate du JDK 10

Et vous ?

Êtes-vous déjà passé à Java 9 ? Si oui, qu’en retenez-vous ?
Que pensez-vous de cette nouvelle version ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de kaloo811
Membre à l'essai https://www.developpez.com
Le 14/02/2018 à 10:15
Grosse revolution chez mes clients, on commence tout juste a migrer vers Java8. Voir que Java10 arrive me laisse un peu dépressif (et je parle pas du reliquat en Java4). J'ai l'impression d'être assis sur le quai de la gare et de voir passer le train.
6  0 
Avatar de bouye
Rédacteur/Modérateur https://www.developpez.com
Le 20/03/2018 à 22:19
C'est la toute première fois depuis mes début qu'une nouvelle version sort alors que :
  1. Je ne maîtrise pas la précédente ;
  2. J'ai aucun outil ou IDE qui fonctionne correctement avec la précédente version ;
  3. Du coup je n'ai même pas commencé a porter des apps sur la version précédente.


2  0 
Avatar de yildiz-online
Expert confirmé https://www.developpez.com
Le 22/02/2018 à 16:01
tu peux sauter et passer à Java 9
On ne choisi pas la version de java à mettre en production sur le simple critère "c'est sorti", il faut faire l'état des lieux de l'écosystème et il n'est pas encore complètement mature, et surtout java 9 n'est pas une LTS, son support se termine ce mois de mars, c'est un gros risque de migrer avant la 18.9
1  0 
Avatar de ben51
Nouveau membre du Club https://www.developpez.com
Le 21/03/2018 à 11:40
C'est normale que sur le sita java.com c'est toujours le JRE 8 qui est proposé au téléchargement ?
1  0 
Avatar de sekaijin
Expert éminent https://www.developpez.com
Le 29/04/2018 à 11:06
Vu que SAP ne livre qu'au compte goute les évolution de ses lib

passer de java6 à ja 8 ha non trop tard java 9 ha non trop tard java 10 ha non trop tard java 11

m@rd# la compilation plante avec java 8

il ne reste qu'une solution passer à java 7

je crains que ce rythme ne permette pas de suivre.
Qualifier des centaines de milliers de code tous les six mois est une c@nn#ri# pour ne pas dire plus.

toutes les entreprise n'ont pas des millions d'euro à dépenser pour rien tous les six mois.
si je regarde autour de moi je pense qu'on va droit vers le syndrome windows XP IE6
c'est a dire que le coût de migration trop fréquente ne soit considéré par les instance dirigeant comme inutile et qu'on se retrouve comme avec XP avec de vielle version de Java qui restent en place. et plus le temps passera plus il serra difficile voir coûteux de migrer.

je rappelle que les logiciels développés sont pour des client qui eux n'ont pas d'équipes de développeur et dont les direction ne veulent pas d'une rente à vie pour les SSII .
si donc en tant que dirigeant j'ai le choix entre un soft qu'on me livre et que je peux garder 10ans et un ou tous les 6 mois je doit payer une migration du code le choix va être vite fait.

pour info je viens de migrer en java 7 une application critique (au niveau national) qui était écrite en java 1.4 à la sauce java2 oui java 2. le nombre de dépendance n'existant plus est considérable. comment faire ?
trouver une autre techno et re-développer une partie de l'appli oui tenter de décompiler la dépendance et la porter vers java 7 ?
cela à peine fini java7 n'est plus supporté. java8 et en voit de l'être Java 9 passe comme l'éclair.

Comment suivre le rythme quant une migration prends 1 an alors que les versions sortent tous les 6 mois ?
Comment aujourd'hui puis-je miser sur java 12 vu que java 11 sera obsolète lorsque j'aurais fini la migration ?

à vouloir aller trop vite on va droit sur ce qu'on constate en entreprise avec PHP. 80 à 90 % des appli son en php4 ou 5 alors que php à mis des années avant d'avancer d'une version.

je pense qu'aujourd'hui si je devais avec les effectifs actuels et les difficulté à recruter des profils adéquats migrer l'ensemble des appli java de mon entreprise il me faut environ 10 ans.

oops java 56 n'est pas spécifié zut on sait pas à qui il va resembler.

A+JYT
1  0 
Avatar de adiGuba
Expert éminent sénior https://www.developpez.com
Le 05/05/2018 à 22:04
Le problème c'est que tu te bases uniquement sur les versions tous les 6 mois, mais tu n'as aucune obligation de migrer tous les 6 mois.

Il te suffit de rester sur une version LTS (tous les 3 ans, avec un support de 5 ans), et tu te retrouves dans le même cas qu'avant ce changement de releases...
1  0 
Avatar de adiGuba
Expert éminent sénior https://www.developpez.com
Le 14/05/2018 à 19:22
Oui, mais c'est juste une preuve que ce problème n'est pas lié au cycle court de releases, puisque les Java 7,8 et 9 se sont bien fait attendre...
1  0 
Avatar de koyosama
Membre éprouvé https://www.developpez.com
Le 13/02/2018 à 23:26
Wow on change d'époque là, Oracle sort Java rapidement maintenant.
0  0 
Avatar de la.lune
Membre chevronné https://www.developpez.com
Le 15/02/2018 à 19:29
Citation Envoyé par kaloo811 Voir le message
Grosse revolution chez mes clients, on commence tout juste a migrer vers Java8. Voir que Java10 arrive me laisse un peu dépressif (et je parle pas du reliquat en Java4). J'ai l'impression d'être assis sur le quai de la gare et de voir passer le train.
Vu que les fonctionnalités introduits dans Java8 existent dans le 9 et le 10, tu peux sauter et passer à Java 9, déjà java 10 pour moi n'a pas vraiment quelque chose de phare en comparaison de Java 8 et 9. Donc avoir le 9 permet de migrer facilement vers le 10.
0  0 
Avatar de tchize_
Expert éminent sénior https://www.developpez.com
Le 22/02/2018 à 20:27
autant pour la maturité du framework, je suis d'accord avec toi, gros risque. Pour ce qui est du LTS, ça ne concerne pas l'open JDK, juste les VMs livrées par oracle. Donc si tu déploie que de l'openjdk tu t'en tappe un peu les baloches des notifs EOL d'oracle
0  0