Communiqué de presse

Oracle annonce Java 17

  • La prochaine version de Java bénéficiant du support à long terme intègre des milliers de modifications, elle améliore une fois de plus le langage et la plateforme pour renforcer la productivité des développeurs.
  • Avec Oracle JDK 17, les clients bénéficieront des mises à jour de sécurité,de performance et de correction de bugs jusqu'en septembre 2029.
Colombes—15 septembre 2021
Java 17

Oracle annonce la disponibilité de Java 17, la nouvelle version du numéro un mondial des langages de programmation et des plateformes de développement. Java 17 intègre des milliers de mises à jour de performance, de stabilité et de sécurité, ainsi que 14 JEP, les propositions d'évolution du JDK (JDK Enhancement Proposals), pour améliorer encore le langage et la plateforme Java afin de renforcer la productivité des développeurs.

Java 17 is the latest support à long terme (LTS) dans le cadre des versions semestrielles de Java, elle résulte d'une collaboration poussée entre les ingénieurs Oracle et les autres membres de la communauté mondiale des développeurs Java via la Communauté OpenJDK et le processus JCP (Java Community Process). Depuis la version JDK 11 LTS précédente publiée il y a trois ans, plus de 70 JEP ont été implémentées.

 

Une licence simplifiée

Oracle JDK 17 et les prochaines versions du JDK sont fournis dans le cadre d'une licence d'utilisation gratuite jusqu'à une année complète après la version LTS suivante. Oracle continuera également à fournir des versions d'Oracle OpenJDK dans le cadre de la licence de logiciel libre GPL (General Public License), comme il le fait depuis 2017.

 

Amélioration du support à long terme pour les clients

Oracle collabore avec la communauté des développeurs Java dans le cadre du JCP pour améliorer la planification du LTS, afin que les entreprises bénéficient d'une plus grande souplesse pour choisir le moment où elles souhaitent effectuer – ou non – leur migration vers une version Java LTS plus récente. Oracle propose que la prochaine version LTS soit Java 21 qui sortira en septembre 2023, ce qui ferait passer le rythme des versions LTS de trois à deux ans.

En s'appuyant sur Oracle LTS et l'abonnement Java SE, les clients peuvent migrer vers Java 17 au rythme qui leur convient le mieux. Oracle leur fournira les mises à jour de sécurité, de performance et de correction de bugs pour Java 17 au moins jusqu'en septembre 2029.

« Au cours des trois dernières années nous avons entendu combien les développeurs apprécient les fonctionnalités les plus récents, et nous avons vu l'écosystème adopter clairement la cadence semestrielle de publication des versions », déclare Georges Saab, Vice President of Development, Java Platform Group, Oracle. « L'un des plus grands défis que les développeurs Java doivent relever aujourd'hui est que leur entreprise ne leur permet d'utiliser que la dernière version LTS. En passant à un rythme de deux ans pour les versions LTS, les développeurs travaillant dans des entreprises plus conservatrices disposeront dorénavant d'un choix plus élargi et pourront bénéficier des fonctionnalités qu'ils adorent et qu’ils sont impatients de pouvoir utiliser. »

« Oracle implémente des nouveautés qui bénéficieront largement à l'ensemble de la communauté Java, en passant à une cadence de deux ans pour les versions bénéficiant du support à long terme et en proposant une nouvelle licence plus souple offrant une utilisation opérationnelle gratuite d'Oracle JDK pour une période étendue », commente le Dr. Arnal Dayaratna, directeur de recherche pour le développement logiciel chez IDC. « Avec ces évolutions, les entreprises bénéficieront d'une plus grande souplesse pour gérer toute la complexité du développement et du déploiement des applications modernes dans le cloud, on-premises et dans les environnements hybrides. »/p>  

Accélération de l'adoption de Java dans le cloud

Java est l'une des plus grandes plateformes de développement de tous les temps, elle s'appuie sur un processus d'innovation constante répondant à l'évolution des besoins des développeurs. Pour accélérer l'adoption de Java dans le cloud, Oracle a récemment annoncé Oracle Java Management Service, un nouveau service natif d'Oracle Cloud Infrastructure (OCI) conçu pour aider les entreprises à gérer leurs environnements d'exécution et leurs applications Java on-premises ou dans n'importe quel cloud.

Avec Java Management Service les clients bénéficient d'une visibilité complète de leurs déploiement Java à travers toute l'entreprise. Ce service couvre toutes les versions de Java installées dans leur environnement, qu'elles soient utilisées pour le développement ou pour la production. Il signale également l'exécution de toute application Java non prévue et vérifie que toutes les versions de Java installées sont bien actualisées avec les correctifs de sécurité les plus récents.

JDK 17 intègre de nouvelles améliorations du langage, des mises à jour des bibliothèques, le support de nouveaux ordinateurs Apple, la suppression ou la dépréciation d'anciennes fonctionnalités, et des mécanismes pour s'assurer que le code Java écrit aujourd'hui continuera à fonctionner sans modification dans les futures versions du JDK. Il offre également une préversion d'une fonctionnalité du langage ainsi que des API en incubation afin de recueillir les commentaires de la communauté Java. Voici les principales nouveautés de cette version :

 

Amélioration du langage Java

  • JEP 409: Classes scellées – Les classes et interfaces scellées restreignent les autres classes ou interfaces qui pourront les étendre ou les implémenter. Cette évolution est une autre amélioration issue de Project Amber, qui vise à faire évoluer le langage Java pour augmenter la productivité des développeurs.
 

Mises à jour et améliorations des bibliothèques

  • JEP 306: Restauration de la sémantique stricte permanente pour la virgule flottante Le langage de programmation Java et la machine virtuelle Java n'avaient au départ qu'une sémantique stricte pour la virgule flottante. A partir de Java 1.2, des petites variations de cette sémantique stricte ont été autorisées par défaut pour tenir compte des limitations des architectures matérielles de l'époque. Ces variations ne sont plus utiles ou nécessaires aujourd'hui, elles sont donc supprimées par la JEP 306.
  • JEP 356: Générateur amélioré de nombre pseudo-aléatoire – Fournit de nouveaux types et implémentations d'interfaces pour les générateurs de nombres pseudo-aléatoires (PRNG – Pseudo-Random Number Generators). Cette modification améliore l'interopérabilité entre différents PRNG et permet de demander plus facilement un algorithme en se basant sur des spécifications plutôt qu'en codant en dur une implémentation précise.
  • JEP 382: Nouveau pipeline de rendu macOS – Implémentation d'un pipeline Java 2D pour macOS utilisant l'API Apple Metal. Ce nouveau pipeline diminuera la dépendance du JDK envers l'API dépréciée Apple OpenGL. 
 

Support d'une nouvelle plateforme

  • JEP 391: Portage macOS AArch64 – Portage du JDK sur la plateforme macOS/AArch64. Ce portage permettra aux applications Java de fonctionner nativement sur les nouveaux ordinateurs Appel Silicon basés sur Arm 64.
 

Suppressions et dépréciations

  • JEP 398: Dépréciation pour suppression de l'API Applet – Tous les éditeurs de navigateur web ont soit supprimé le support des plugins de navigateur Java ou annoncé leur intention de le faire. L'API Applet avait été dépréciée dans Java 9 en septembre 2017, mais sans que sa suppression soit prévue.
  • JEP 407: Suppression de l'activation de RMI – Supprime le mécanisme d'activation de l'invocation de méthode distante RMI (Remote Method Invocation), tout en préservant le reste de RMI.
  • JEP 410: Suppression du compilateur expérimental AOT et JIT – Le compilateur expérimental en avance (AOT – ahead-of-time) ou juste à temps (JIT – just-in-time) basé sur Java n'a pas rencontré beaucoup de succès. Ce compilateur optionnel avait déjà été supprimé de JDK 16. Cette JEP supprime ces composants du code source de JDK.
  • JEP 411: Dépréciation pour suppression du gestionnaire de sécurité – Le gestionnaire de sécurité remonte à l'époque de Java 1.0. Cela fait de nombreuses années qu'il ne constitue plus le moyen privilégié de sécuriser le code Java sur le client, et il n'a été que très rarement utilisé pour sécuriser le code sur le serveur. Sa suppression dans une future version évitera une surcharge de maintenance importante et permettra à la plateforme Java d'avancer plus librement.
 

Préservation de la durabilité des programmes Java

  • JEP 403: Encapsulation forte des internes du JDK – Il ne sera plus possible de contourner l'encapsulation forte des éléments internes via une simple option de ligne de commande, comme c'était le cas du JDK 9 au JDK 16. Il sera toujours possible d'accéder aux API internes existantes, mais cela nécessitera désormais une énumération de tous les packages pour lesquels l'encapsulation doit être contournée, via des paramètres de ligne de commande ou des attributs de manifeste de fichier JAR. Cette modification améliorera la sécurité des applications et diminuera les dépendances envers des détails non standards d'implémentation interne du JDK.
 

Préversions et incubations pour les prochaines versions du JDK

  • JEP 406: Filtrage par motif (Pattern Matching) pour switch (préversion) – Permet de tester une expression vis-à-vis de plusieurs motifs, chacun étant associé à une action précise, afin que des requêtes complexes liées aux données puissent être exprimées de façon sûre et concise.
  • JEP 412: Fonction étrangère et API mémoire (incubation) – Amélioration d'API en incubation introduites dans JDK 14 et JDK 15 permettant aux programmes Java d'interopérer avec des codes et des données situés à l'extérieur de l'environnement d'exécution Java. En invoquant de façon efficace des fonctions étrangères (le code à l'extérieur de la JVM) et en accédant en toute sécurité à la mémoire étrangère, ces API permettent aux programmes Java d'appeler des bibliothèques natives et de traiter des données natives sans la fragilité et la complexité de Java Native Interface (JNI). Ces API sont développées dans le cadre de Project Panama, qui vise à améliorer l'interaction entre les codes Java et non-Java.
  • JEP 414: API vecteur (deuxième incubation) – Pour exprimer des calculs de vecteurs se compilant de façon fiable à l'exécution vers des instructions matérielles optimales de vecteurs sur les architectures CPU supportées, afin d'atteindre des performances supérieures à celles des calculs scalaires équivalents.
 

Ressources complémentaires

Informations de contact

Bastien ROUSSEAU

Oracle France
Tél : 06 27 45 32 06

Maxence GODEFROY / Aesa LANGENHOVE / Grégory ALLEAUME

Agence LEWIS / PISTON
06 48 43 41 27 / 06 66 41 80 35 / 07 77 00 56 52

A propos d'Oracle

Oracle propose des suites d’applications intégrées ainsi qu’une infrastructure autonome et sécurisée dans Oracle Cloud. Pour en savoir plus sur Oracle (NYSE:ORCL), visitez notre site www.oracle.com.

Trademarks

Oracle, Java et MySQL sont des marques déposées d’Oracle Corporation.

Oracle Chatbot
Disconnected