Ce site utilise des cookies et différents services d'analyse de trafic. Nous partageons également certaines informations sur son utilisation avec nos partenaires des réseaux sociaux.

Si les cookies techniques sont nécéssaires au fonctionnement du site, les autres nécessitent une autorisation de votre part.

21 mai 2021

Java 17: Qu'attendre de cette prochaine version LTS ( long-term support) ?

Java 17: Qu'attendre de cette prochaine version LTS ( long-term support) ?

Ce contenu propose une synthèse cadrée et rédigée par Corentin Louise, Directeur Technique au sein des activités Digital Factory de Niji.
_____________

La nouvelle version majeure de Java arrive cette année et sera la prochaine version LTS. Son planning de publication est prévu suivant le calendrier suivant :

  • 10/06/2021 - Rampdown Phase 1 : Uniquement les bugs P1-P3 peuvent être intégrés à la version
  • 15/07/2021 - Rampdown Phase 2 : Uniquement les bugs bloquants peuvent être intégrés à la version
  • 05/08/2021 - Première Release Candidate : Première version stable en vue de la GA
  • 19/08/2021 - Dernière Release Candidate : Dernière version stable en vue de la GA. Si de nouveaux bugs sont découverts lors de cette étape, la date de GA devient incertaine ☹
  • 14/09/2021 - Disponibilité générale de la version 17

Cette nouvelle version bénéficiera de toutes les améliorations introduites dans la version 16 et intégrera également quatre nouvelles JEP.

 

JEP 398 : Passage en Deprecated pour suppression des API de gestion des Applets

Le support des Applets était déjà passé en Deprecated lors de la publication de Java 9 et les choses s’accélèrent avec la prochaine sortie de Java 17 en passant ces dernières en « Deprecated for Removal ». Aujourd’hui, l’ensemble des principaux navigateurs du marché ont arrêté le support ou annoncé la fin du support des Applets et cette technologie n’a plus de raison d’être dans Java.

Les packages passés en « Deprecated for removal » :

  • java.applet.Applet
  • java.applet.AppletStub
  • java.applet.AppletContext
  • java.applet.AudioClip
  • javax.swing.JApplet
  • java.beans.AppletInitializer

Bref, une étape importante dans le ménage nécessaire afin de laisser derrière nous un pan de l’histoire de Java qui aura fini par ternir un peu son image au fil du temps.

 

JEP 391 : Support de l’architecture macOS/AArch64 et donc de la nouvelle architecture ARM d’Apple

Apple, depuis longtemps déjà, a annoncé sa volonté de quitter l’écosystème x86-64 pour migrer vers l’architecture ARM64 qui va lui permettre d’optimiser et de maîtriser de façon plus importante le Design de leur gamme matérielle. La seule solution qui existe actuellement pour faire tourner un JDK x64 sur un environnement ARM64 est de passé par l’outil de compatibilité Rosetta 2 au prix d’un impact sur les performances applicatives ☹.

Avec la version 17, le support de l’architecture ARM64 sera natif et s’appuiera sur le port Linux AArch64 existant déjà.

Bref, il n’y aura plus d’excuse pour passer sur les nouveaux Mac M1 !

 

JEP 356 : Amélioration dans la génération des nombres pseudo-aléatoires

Les objectifs principaux de l’évolution sont :

  • Facilité l’utilisation et l’intégration des algorithmes PRNG dans les applications
  • Améliorer le support de la programmation par Stream en fournissant des Streams d’objets PRNG
  • Désendetter les classes PRNG du JDK en supprimant le code dupliqué
  • Conserver une rétrocompatibilité avec les classes du package java.util.Random

 

JEP 382 : Intégration d’un nouveau pipeline de Rendu pour macOS

L’objectif principal est de remplacer le pipeline actuel de rendu basé sur les API Deprecated d’OpenGL par un tout nouveau pipeline construit sur les nouvelles API Metal d’Apple. Tout ceci passe par :

  • La mise à disposition d’un tout nouveau pipeline de rendu pour les API Java 2D
  • Préparer une suppression éventuelle des API OpenGL par Apple
  • Valider la compatibilité du nouveau Pipeline avec les applications existantes
  • Valider la coexistence du nouveau pipeline avec le pipeline OpenGL jusqu’à sa suppression éventuelle
  • Produire une architecture s’intégrant de façon transparente dans le pipeline Java 2D actuel
  • Valider le bon fonctionnement du nouveau pipeline en proposant un niveau de performance à minima équivalent au pipeline sur OpenGL

 

En conclusion, une nouvelle version sans révolution mais qui nous permettra de bénéficier d’un support étendu et d'institutionnaliser toutes les nouveautés intégrées depuis la version 11 de Java qui est à date la dernière version LTS publiée il y a déjà trois ans

Contact Relations Presse
Frédéric PAYEN
Directeur Marketing et Communication
presse@niji.fr