Developpez.com

Le Club des Développeurs et IT Pro

JDK 10 : le projet pour l'implémentation de la plateforme Java 10 est ouvert

Qu'attendez-vous de cette nouvelle version ?

Le 2016-11-30 09:27:20, par Michael Guilloux, Chroniqueur Actualités
Les développeurs Java sont dans l’attente de Java 9 dont la sortie initiale annoncée pour le 22 septembre 2016 a été repoussée à deux reprises. Cette version va introduire comme fonctionnalité majeure le concept de modularisation avec le projet Jigsaw qui est d’ailleurs pointé comme responsable du retard qu’a connu le JDK 9.

Comme annoncé le mois dernier, Java 9 sera également livré avec le support de la compilation anticipée (ou compilation AOT). La compilation anticipée est une compilation qui traduit un langage évolué en langage machine avant l'exécution d'un programme. Elle s’oppose à la compilation à la volée (JIT) qui se fait lors de l'exécution du programme. La compilation AOT va donc permettre de compiler les classes Java en code natif avant de lancer la machine virtuelle.

Il s’agit toutefois d’un début d’implémentation de la compilation AOT, raison pour laquelle il y aura certaines limitations dans le JDK 9 qui devraient être traitées dans les prochaines versions. On notera par exemple que la version initiale de la compilation AOT dans le JDK 9 n'est prise en charge que sur des systèmes Linux 64 bits exécutant Java 64 bits et que seuls G1 et Parallel GC sont pris en charge pour le moment. Entre autres limitations, on peut encore préciser qu’il peut ne pas être possible de compiler le code Java qui utilise des classes générées dynamiquement et du bytecode (expressions lambda, invoke dynamic).

Conformément au dernier calendrier de sortie de Java 9, toutes les fonctionnalités du JDK 9 ont été implémentées et intégrées dans le master forest (où réside le code source officiel). Dans trois semaines, les JEP et petites améliorations qui ont reçu un délai supplémentaire devraient également être toutes implémentées et intégrées dans le master forest. Le JDK 9 devrait donc entrer dans les différentes phases de test et correction de bugs de priorité P1-P3 pour atteindre la dernière RC le 6 juillet et la disponibilité générale le 27 juillet 2017. C’est donc probablement le bon moment de penser à la prochaine version de Java.

Sur le site d’OpenJDK, un nouveau projet dédié au JDK 10 a donc été ouvert pour commencer l’implémentation open source de la plateforme Java SE 10. C’est un juste un début, et rien ne semble déjà avoir été fait. « Les référentiels du projet seront initialement ouverts aux corrections de bogues et aux petites améliorations seulement », est-il indiqué sur le site d’OpenJDK. Les fonctionnalités de la version seront proposées et suivies via le processus JEP (JDK Enhancement Proposal) élaboré par Oracle pour recueillir des propositions d'améliorations pour le JDK et OpenJDK.

Source : OpenJDK

Et vous ?

Qu’attendez-vous du JDK 10 ?

Voir aussi :

JDK 9 : la nouvelle date de sortie est fixée au 27 juillet 2017 après acceptation de la demande de report de Mark Reinhold
Le JDK 9 va supporter la compilation anticipée (AOT) en commençant par les systèmes Linux 64-bit exécutant Java 64-bit
JavaOne 2016 : Oracle veut moderniser Java EE 8 pour le cloud et repousse sa sortie à fin 2017, Java EE 9 devrait être disponible un an plus tard
  Discussion forum
38 commentaires
  • kaloo811
    Membre à l'essai
    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.
  • andry.aime
    Rédacteur/Modérateur
    Envoyé par SaiRictus
    Je suis passé sur .NET et je ne regrette pas mon choix.
    Entre l'IDE et le fait que .NET devienne de plus en plus cross-platform, je pense qu'il doit y avoir de nombreux développeurs Java qui (v)ont fai(t|re) ce choix.

  • fabien29200
    Membre habitué
    Java 8 a déjà apporté pas mal de choses.

    Moi j'aimerai bien un standard pour tout ce qui est POJO / objets immutables qui éviteraient une bonne partie de la verbosité de Java.

    @SaiRictus : 1er commentaire, 1er troll GG ! Le problème de .NET c'est que c'est Windows Only. Microsoft fait des efforts d'ouverture, mais d'ici à ce que des entreprises passent à du .NET sur Linux, il va se passer quelques années. Et la virtualisation/cloud/dockerisation a largement poussé Linux.
  • adiGuba
    Expert éminent sénior
    Trois nouvelles petites JEPs qui intégreront probablement Java 10 :



    a++
  • adiGuba
    Expert éminent sénior
    Salut,

    Pour revenir au sujet, quelques projets qui pourrait prendre forme avec le JDK 10 :



    a++
  • bouye
    Rédacteur/Modérateur
    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.


  • adiGuba
    Expert éminent sénior
    Le support d'HTTP/2 (et des Websockets) est normalement prévu pour Java 9 (et Java EE 8)

    a++
  • yildiz-online
    Expert confirmé
    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
  • ben51
    Membre régulier
    C'est normale que sur le sita java.com c'est toujours le JRE 8 qui est proposé au téléchargement ?
  • sekaijin
    Expert éminent
    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