Java fête ses 25 ans et annonce l’arrivée de sa version 15

Java fête ses 25 ans et annonce l’arrivée de sa version 15

Java fête ses 25 ans et annonce l’arrivée de sa version 15

Déjà 25 ans que Java propose aux développeurs un langage de haut niveau, orienté objet, précompilé en bytecode avant une compilation dans une machine virtuelle dédiée. Le langage avait été créé par Sun, rachetée en 2009 par Oracle, qui assure depuis le développement.

Les nouveautés de la version 15, on s’en doute, sont nombreuses. Elle fournit notamment deux nouveaux ramasse-miettes, nommés ZGC et Shenandoah. Tous deux ont pour objectif de limiter les temps de pause, notamment en déplaçant les objets du tas sans arrêter l’exécution. En simplifiant grossièrement, ZGC se veut simple mais est moins configurable, Shenandoah est plus complexe mais peut offrir de meilleurs résultats.

Parmi les autres apports, signalons la version finale des blocs de texte (initialement introduits dans Java 13), la gestion des classes cachées, Unicode 13, le support des signatures EdDSA, une nouvelle implémentation de l’API DatagramSocket, de nouvelles méthodes pour obtenir une valeur absolue, la gestion des lambdas dans AppCDS, le filtrage par motif ou encore les classes scellées.

Dans la foulée, OpenJDK passe lui aussi en version 15.

Commentaires (17)


Doucement, n’allez pas trop vite, toute la gestion de ma boîte repose sur java 8. :transpi:


Il est payant, non ?


la version java Oracle pour les entreprises est maintenant payante. Si Oracle continue, on aura peut être une version payante pour les particuliers dans quelques temps.
Le mieux pour ne pas avoir de surprise est de passer à openjdk


Effectivement, raison pour laquelle dans mon taff on scrute avec attention les versions java demandées / embarquées en bundle dans les progiciels d’éditeurs.


Depuis la rupture de compatibilité majeure introduite par le projet jigsaw dans la version 9, je me demande bien comment tout ça va évoluer…


Tout le monde reste sur la 8 jusqu’a la fin du support comme python 2



Jos a dit:


Depuis la rupture de compatibilité majeure introduite par le projet jigsaw dans la version 9, je me demande bien comment tout ça va évoluer…




Globalement Jigsaw est plutôt une bonne chose. Il n’y a eut une rupture de compatibilité que pour les projets qui appelaient des choses internes, non documentées et donc pas destinées à être publiques.



Le seul défaut de Java 9 c’est l’absence d’une option de configuration (ligne de commande, ou option dans le manifest par exemple) pour permettre aux anciens projets mal ficelés qui ont été touchés de pouvoir continuer à fonctionner en l’état, tout en profitant des autres évolutions.


La seule chose qui m’intéresse est de savoir si Minecraft (serveur) tournera mieux avec cette nouvelle version :D


Minecraft est compilé en version 8, donc a priori pas de changements majeurs a prévoir.


Il est pas toujours sur Java 8 lui aussi ?


Pour ceux que ça intéresse, l’implémentation qui a été faite de cette modularisation pose vraiment des gros problèmes.



Même le scrutin des décideurs java n’était pas passé à l’époque:
https://www.jcp.org/en/jsr/results?id=5959



Jos a dit:


Minecraft est compilé en version 8, donc a priori pas de changements majeurs a prévoir.



zefling a dit:


Il est pas toujours sur Java 8 lui aussi ?




Le jeu (client) tourne effectivement avec Java 8, mais on a le choix de la version pour le serveur. Et il est conseillé d’utiliser au moins Java 11 pour le faire tourner : il offre une meilleure fluidité grâce au nouveau GC, notamment (G1GC).



D’où ma question : ces nouveaux GC amélioreront-ils encore la fluidité du jeu ? À voir.


Tu parle de la jre d’exécution, je parle de la version cible utilisée pour la compilation



Jos a dit:


Depuis la rupture de compatibilité majeure introduite par le projet jigsaw dans la version 9, je me demande bien comment tout ça va évoluer…




Jigsaw ne casse rien du tout, tu peux t’en sortir avec des params de ta JVM ;-)



Vekin a dit:


Le jeu (client) tourne effectivement avec Java 8, mais on a le choix de la version pour le serveur. Et il est conseillé d’utiliser au moins Java 11 pour le faire tourner : il offre une meilleure fluidité grâce au nouveau GC, notamment (G1GC).



D’où ma question : ces nouveaux GC amélioreront-ils encore la fluidité du jeu ? À voir.




Très certainement. Leur but est de diminuer le temps de pause pour les cleanup.
Je n’ai pas testé moi-même mais apparemment les 2 nouveaux GC sont beaucoup plus performants que G1…


Ça coute combien la version payante de Java pour les entreprises ?


Fermer