1 pièce(s) jointe(s)
Oracle annonce la sortie officielle de Java 11
JDK 11 : trois nouveautés sont prévues ainsi que la suppression de JAVA EE, JavaFX et CORBA,
dans le cadre des mises à jour semestrielles
Dans le cadre de la nouvelle cadence de lancement de chaque six mois, adoptée pour l’édition standard de Java, Oracle est en train de peaufiner les dernières fonctionnalités de prochaine la version du JDK, la version 11, dont la sortie est prévue en septembre 2018. Cette version contrairement à JDK 10, est une version LTS pour « Long Term Support » ou version avec un support à long terme. Elle devrait avoir un support Oracle de premier niveau jusqu’en septembre 2023 et un support étendu incluant des correctifs et des alertes de sécurité jusqu’en 2026.
Succédant au JDK 10 lancé le 20 mars, seules trois nouvelles fonctionnalités sont annoncées à ce jour bien que d’autres puissent s’y greffer avant la date de sortie prévue.
- Le format de fichier de classe Java qui sera étendu pour prendre en charge une nouvelle forme de pool de constante, CONSTANT_Dynamic.
- Le mot clé « var » sera désormais utilisable lors de la déclaration des paramètres formels d'une expression lambda typée implicitement. En d’autres termes, une syntaxe à variable locale pour les paramètres lambda doit suivre la syntaxe d'une déclaration de paramètre formelle dans une expression implicitement typée avec la syntaxe d'une déclaration de variable locale.
- Le « garbage collector » ou ramasse-miette Epsilon, annoncé en tant que collecteur "no-op", gérera l'allocation de mémoire sans implémenter de mécanismes de récupération de mémoire. Les cas d'utilisation d'Epsilon comprennent les tests de performance, la pression de la mémoire et l'interface de la machine virtuelle. Il pourrait également être utilisé pour des utilisations de courtes durées.
Parallèlement à ces ajouts, certaines fonctionnalités ne seront plus présentes. En effet dans la version Java 11, Java FX ainsi que les modules CORBA et Java JEE seront supprimés. La suppression de JavaFX étant en cours se prolongera dans cette version puisque n’étant pas liée au programme de mise à jour semestrielle de Java JDK. Déprécié depuis Java SE9, le retrait des modules Java EE et CORBA était une mesure prévue et sera effectif avec JDK11.
La suppression de CORBA peut être justifiée par deux facteurs. Premièrement, elle date des années 1990 et ne recèle plus aucun intérêt pour le développement d’applications Java modernes d’après Oracle. Enfin, les coûts de maintenance sont élevés comparés aux bénéfices rapportés. Cependant, cette suppression risque d’entrainer des dysfonctionnements sur des implémentations existantes. En effet, ces dernières risquent de ne pas fonctionner si elles n’incluent qu’une partie de l’API CORBA. Elles s’attendront à ce que le JDK leur fournisse le reste. De plus, il n’existe pas de versions tierces pour CORBA et il est peu probable qu’un tiers se décide à en prendre la charge.
Pour ce qui est de la plateforme JAVA EE, la suppression est due à des difficultés de maintenance qu’elle a entrainées dans JAVA SE au fil de ses évolutions. Sortie en décembre 2011, JAVA SE 6 était accompagnée d’une large panoplie des services web utiles au développeur. Parmi ceux-ci, on peut en citer quatre qui étaient dédiés à JAVA JEE : JAX-WS (Java API for XML-based Web Services,**JAXB (Java Architecture for XML Binding), JAF (JavaBeans Activation Framework) et Common Annotations for Java. Ces ajouts de fonctionnalités pour JAVA EE ont entrainé des complications pour JAVA SE notamment parce qu’ils incluaient des fonctionnalités sans rapport avec cette dernière. Ainsi Oracle affirme qu’avec des versions « standalone » disponibles sur des sites tiers, il n’est plus nécessaire de l’inclure dans JAVA SE ou dans le JDK. Cependant, certaines applications pourraient ne pas compiler si elles s’appuient sur un support prêt à l’emploi du JDK pour les API et outils Java EE. Des incompatibilités binaires et de source se produiraient lors de la migration de JDK 6,7 et 8 vers une version ultérieure. Oracle recommande aux développeurs concernés par ces risques de déployer sur des versions alternatives des technologies Java EE à la place.
Source : Mail List Open JDK, Open JDK
Et vous ?
:fleche: Que pensez-vous de la suppression annoncée des trois modules cités plus haut de JDK 11 ?
Voir aussi
:fleche: JDK 10 : les fonctionnalités de la prochaine version de Java sont désormais gelées, la sortie est attendue pour le 20 mars 2018
:fleche: Java 8 ne va plus recevoir de mises à jour et correctifs de sécurité à partir de septembre à moins de passer à un support commercial
ce que Jasper Potts en pense
Jasper Potts, un des lead dev de JavaFX a retweeté 2 tweets:
un tweet pessimiste : https://twitter.com/skovatch/status/971495384206880768
un tweet de consolation : https://twitter.com/johanvos/status/971447653144899586
Ca sent pas bon de toute manière
Migration Applet / JNLP sous Java 11
Bonjour ,
J'ai une application qui tourne en Applet et qui s'exescute avec un JNLP sur le navigateur , comme vous le savez les applets et le jnlp vont être supprimer à partir de la version 11 ( janvier 2019 )
J'envisage de faire une migration en Java 11 , et je me pose la question : est ce que je dois garder mon ancien code ( qui tourne depuis des années ) ou passer sur une nouvelles technologies basé sur java jee ou java fx
D'après vous c'est quoi qui est mieux et moins violent pour cette migration : garder le code et maigrir vers les Swing ( ou FX ) ou bien changer la stratégie est passer au java fmk( spring boot / jsf ... )
Merci d'avance pour vos conseils
Cordialement .
Oracle annonce la sortie officielle de Java 11
Oracle annonce la sortie officielle de Java 11
tour d'horizon des principales nouveautés de cette version LTS
Oracle a annoncé mardi la disponibilité générale de Java 11, conformément à sa nouvelle cadence de publication de six mois adoptée il y a un an avec Java 9. Avec sa nouvelle cadence, quand une nouvelle version de Java est disponible, la version précédente va immédiatement cesser de recevoir des mises à jour publiques. C'est ce qui fait d'ailleurs que Java 11 est une mise à jour importante, car il s'agit de la première version LTS (bénéficiant d'un support à long terme) depuis qu'Oracle a décidé de sortir deux versions de Java par an. Elle est donc destinée aux utilisateurs qui privilégient la stabilité à un accès rapide aux nouvelles fonctionnalités.
Pour en venir aux nouveautés, Java 11 ne fait pas moins que les versions précédentes. Cette version vient en effet avec un bon lot de nouveautés et de nombreux changements que les développeurs ne doivent pas ignorer.
Dans Java 11, une nouvelle API HTTP fait son apparition. En fait, elle n'est pas tout à fait nouvelle, puisqu'elle a été introduite dans le JDK 9 (en incubation) et mise à jour dans le JDK 10. L'API HTTP a été standardisée dans Java 11. Dans le cadre de ce travail, l'API précédemment incubée, qui se trouvait dans le package jdk.incubator.http, a été supprimée. Les codes qui utilisent les types du package jdk.incubator.http devraient donc être mis à jour pour importer les types HTTP à partir de java.net.http.
Java 11 met également à jour les API de plateforme existantes pour prendre en charge la version 10.0.0 du standard Unicode. Après le JDK 10, qui supportait Unicode 8.0.0, le JDK 11 combine en effet les versions 9.0.0 et 10.0.0 d'Unicode qui incluent 16 018 nouveaux caractères, 18 nouveaux blocs et 10 nouveaux scripts.
Comme autre nouveauté, notons l'ajout du Z Garbage Collector, également appelé ZGC, un ramasse-miettes scalable à faible latence (en phase expérimentale). Il est conçu pour répondre à un certain nombre d'objectifs comme : des temps de pause qui ne dépassent pas les 10 ms ; et gérer des tas allant de quelques centaines de mégaoctets à plusieurs téraoctets. Précisons en passant que le tas est l'un des deux segments de mémoire utilisés lors de l'allocation dynamique de mémoire durant l'exécution d'un programme informatique. ZGC n'est pour le moment disponible que sous Linux/x64.
Au nombre des nouveautés, soulignons aussi que le nom de type réservé var peut maintenant être utilisé lors de la déclaration des paramètres formels d'une expression lambda. Cette nouveauté s'appuie sur la capacité de Java SE 10 à utiliser var pour la déclaration de variables locales. Entre autres nouvelles fonctionnalités, avec Java 11, il sera possible de lancer des programmes fournis sous la forme d’un fichier unique de code source Java.
Côté sécurité, Java 11 implémente les algorithmes de chiffrement ChaCha20 et Poly1305, mais aussi TLS 1.3, la dernière version du protocole de sécurisation des échanges sur Internet. On notera du côté des fonctionnalités obsolètes la suppression des modules Java EE et CORBA de la plateforme Java SE et du JDK. Ces modules étaient déclarés obsolètes depuis Java SE 9. Le moteur JavaScript Nashorn a été également déprécié dans Java 11. Comme lui, les outils pack200, unpack200 et l'API Pack200 dans java.util.jar sont désormais obsolètes.
Si nous sommes loin de la liste exhaustive des changements introduits dans Java 11, on peut terminer sur des informations que les développeurs devraient savoir en utilisant Java 11. D'abord, les Applets et la plateforme de déploiement Web Start, obsolètes depuis Java 9, ont été supprimées dans cette nouvelle version. Il est aussi utile de rappeler que JavaFX n'est plus inclus dans le JDK. Il est maintenant disponible en téléchargement séparé depuis openjfx.io.
Stephen Colebourne met en garde contre le téléchargement du JDK Oracle
Si Java 11 est maintenant disponible, Stephen Colebourne, architecte et célèbre contributeur Java, estime qu'Oracle l’a délibérément ou accidentellement configuré pour être un piège pour les utilisateurs : le JDK Oracle vient avec une nouvelle licence. « Depuis 23 ans, les développeurs ont téléchargé le JDK d’Oracle et l’ont utilisé gratuitement. Tapez "JDK" dans votre moteur de recherche préféré, et le premier lien sera vers une page de téléchargement Oracle Java SE », explique Stephen Colebourne. « Mais cette recherche et ce lien sont désormais un piège : Oracle JDK, celui auquel toutes les recherches sur le Web vous amènent, est maintenant commercialisé ».
Ainsi, le piège, selon lui, est que les développeurs vont télécharger le JDK Oracle (parce que c'est ce qu'ils ont toujours fait, et c'est suggèrent les recherches sur le Web) ; l'utiliser en production (car ils ne vont pas réaliser que la licence a changé) ; et recevoir plus tard un appel désagréable des équipes Licences d'Oracle exigeant de payer beaucoup d'argent.
« En d'autres termes, Oracle peut amener [les développeurs] à télécharger la mauvaise version (commerciale) de Java. Si vous ne lisez pas attentivement les [termes], vous ne réaliserez peut-être même pas qu'Oracle JDK est maintenant commercial et que vous êtes donc tenu de payer Oracle pour Java », dit-il.
Maintenant, est-ce un piège de la part d'Oracle ? L'architecte Java laisse les lecteurs se faire leurs propres opinions. Mais en attendant d’avoir une réponse, il y a une solution simple : utiliser une build OpenJDK. En plus de son JDK commercial, Oracle propose une build OpenJDK qui est gratuite et sous licence GPL, disponible sur le site jdk.java.net. Et il y aussi d'autres builds OpenJDK qui devraient bientôt être disponibles, comme celles d'AdoptOpenJDK ou de groupes autres qu'Oracle.
:fleche: Télécharger l'OpenJDK
Sources : Annonce Oracle, OpenJDK, Stephen Colebourne
Et vous ?
:fleche: Aviez-vous l'habitude de télécharger le JDK Oracle ? Que pensez-vous de ce changement licence ?
:fleche: Croyez-vous qu'Oracle voulait piéger les développeurs Java ?
:fleche: A part cela, que pensez-vous de cette nouvelle version de Java ?
:fleche: Quelles nouveautés appréciez-vous le plus ? Quels changements trouvez-vous décevants ? Pourquoi ?
:fleche: Qu'attendez-vous des prochaines versions ?
Voir aussi :
:fleche: JavaFX 11 est enfin disponible en tant que module open source distinct du JDK : tour d'horizon des améliorations et des nouveautés
:fleche: JDK 11 : trois nouveautés sont prévues ainsi que la suppression de JAVA EE, JavaFX et CORBA, dans le cadre des mises à jour semestrielles
:fleche: Java 11 : migrer ou changer de langage, qu'envisagez-vous de faire suite aux derniers changements annoncés par Oracle ?
:fleche: Oracle annonce la sortie officielle de Java 10, ce qui signifie la fin des mises à jour et correctifs de sécurité gratuits pour Java 9