Communiqué de presse

Oracle publie Java 21 et allonge la roadmap du support

La nouvelle version présentée à Oracle CloudWorld offre 15 JDK Enhancement Proposals pour améliorer le langage Java et renforcer les performances, la stabilité et la sécurité de la plateforme

Les extensions de la feuille de route du support à long terme permettent aux clients de migrer à leur rythme

Oracle CloudWorld, Las Vegas —20 septembre 2023

Oracle annonce aujourd'hui la publication de Java 21, la nouvelle version du langage de programmation et de la plateforme de développement numéro un dans le monde. Java 21 (Oracle JDK 21) fournit des milliers d'améliorations en matière de performances, de stabilité et de sécurité, notamment à la plateforme, qui aideront les développeurs à gagner en productivité et stimuleront l'innovation ainsi que la croissance des entreprises. Oracle présentera les nouvelles fonctionnalités apportées par Java 21 lors d'Oracle CloudWorld, qui se déroule cette semaine (du 18 au 21 septembre) à Las Vegas et en ligne : oracle.com/cloudworld.

« Java reste le langage et la plateforme de référence pour le développement d'applications robustes, évolutives et sécurisées. Il est utilisé par des entreprises et des millions d'utilisateurs à travers le monde », souligne Georges Saab, Vice-Président senior d'Oracle Java Platform et Président du Conseil d'administration d'OpenJDK. « Les nouvelles améliorations apportées par Java 21 permettent aux développeurs de créer de meilleures applications encore plus rapidement. En outre, une assistance commerciale sera disponible pendant au moins huit ans pour permettre aux clients de migrer à leur rythme. »

La nouvelle version du Java Development Kit (JDK) contient des mises à jour et des améliorations ainsi que 15 JDK Enhancement Proposals (JEP). JDK 21 apporte des améliorations de langage au projet OpenJDK Amber (modèles de chaînes de caractères, modèles d'enregistrement, correspondance des modèles pour switch, modèles et variables sans nom, méthodes principales d'instances et de classes sans noms) ; améliorations apportées au projet Panama (API de fonction et de mémoire étrangère et API vectorielle) ; fonctionnalités liées au Project Loom (fils d'exécution virtuels, valeurs délimitées et simultanéité d'accès structurée), mises à jour des performances (Generational ZGC) et fonctions de maintenance et d'abandon (abandon du port x86 32 bits pour la suppression et préparation pour interdire le chargement dynamique des agents).

« Malgré le nombre élevé de langages qui existent, Java est toujours omniprésent aujourd'hui », remarque Stephen O'Grady, Analyste principal et Co-fondateur chez RedMonk. « Le monde évolue et Java continuera de jouer un rôle clé en offrant de la valeur aux développeurs grâce à sa capacité d'adaptation. »

Oracle fournit un support à long terme pour Java 21 sur au moins huit ans. Ce support prolongé offre aux entreprises la flexibilité nécessaire pour que leurs applications restent en production plus longtemps avec une maintenance minimale et pour finalement migrer selon leurs conditions. Prenant en compte les commentaires des clients et leur utilisation dans l'écosystème Java, Oracle a également annoncé que le support à long terme pour Java 11 a été prolongé jusqu'au moins janvier 2032, fournissant au moins huit ans de support et de mises à jour supplémentaires d'Oracle.

Mises à jour importantes fournies dans Java 21 :

Fonctionnalités du Project Loom

  • JEP 444 : Fils d'exécution virtuels : Simplifie de manière significative le processus d'écriture, de maintenance et d'observation des applications simultanées à haut débit en introduisant des fils d'exécution virtuels légers sur la plateforme Java. Grâce aux fils virtuels, les développeurs peuvent facilement dépanner, déboguer et profiler les applications simultanées et les mettre à l'échelle avec des techniques et des outils JDK existants, accélérant ainsi le développement des applications.
  • JEP 446 : Valeurs délimitées (aperçu) : Permet le partage de données immuables dans et entre les fils d'exécution. Cela favorise la convivialité, la lisibilité, la robustesse et les performances des projets des développeurs.
  • JEP 453 : Simultanéité d'accès structurée (aperçu) : Simplifie la programmation simultanée en introduisant une API pour la simultanéité d'accès structurée aux données, ce qui aide à promouvoir un style de programmation simultanée capable d'éliminer les risques courants liés à l'annulation et à l'arrêt, tels que les fuites de fils d'exécution et les retards d'annulation, et améliore l'observabilité du code simultané. Les développeurs peuvent ainsi mieux rationaliser la gestion et l'annulation des erreurs, améliorer la fiabilité et renforcer l'observabilité.

Mises à jour des performances

  • JEP 439 : Generational ZGC : Améliore les performances des applications en étendant le Z Garbage Collector (ZGC) pour maintenir des générations distinctes pour les objets récents et anciens. Generational ZGC permet d'améliorer la productivité des développeurs en réduisant la surcharge liée à la portion de mémoire requise et à la récupération d'espace pour les applications, ainsi qu'en réduisant les risques de blocage de l'allocation.

Mises à jour et améliorations du langage

  • JEP 430 : Modèles de chaîne de caractères (aperçu) : Simplifie le développement des programmes Java en facilitant l'expression de chaînes qui incluent des valeurs calculées lors de l'exécution, et renforce la sécurité des programmes qui composent les chaînes à partir de valeurs fournies par l'utilisateur et les transmettent à d'autres systèmes. En outre, la lisibilité des expressions qui mélangent du texte et des expressions est améliorée, et les valeurs autres que des chaînes de caractères calculées à partir de texte littéral et d'expressions imbriquées peuvent être créées sans avoir à passer par une représentation de chaîne de caractères intermédiaire. Cela permet d'améliorer la productivité des développeurs en rendant le langage Java plus accessible en termes de lecture et d'écriture, et plus facile à maintenir.
  • JEP 440 : Modèles d'enregistrement (troisième aperçu) : Améliore le langage Java en étendant la correspondance de modèles aux instances de déstructuration des classes d'enregistrement, ainsi qu'en permettant l'ajout de modèles imbriqués. Les développeurs peuvent ainsi étendre la correspondance de modèles aux requêtes de données plus complexes et composables, ce qui permet d'augmenter leur productivité.
  • JEP 441 : Correspondance de modèle pour switch : Augmente l'expressivité et l'applicabilité des expressions et des instructions switch en autorisant les modèles dans les libellés de case. En outre, la sécurité des instructions switch augmente en exigeant que les instructions switch de modèle couvrent toutes les valeurs d'entrée possibles, et toutes les expressions et instructions switch existantes peuvent continuer à être compilées sans modification et à être exécutées avec une sémantique identique. Les développeurs peuvent ainsi rationaliser et améliorer la fiabilité de leurs projets en rendant le langage Java plus sémantique afin que des requêtes complexes orientées données puissent être exprimées de manière concise et sécurisée.
  • JEP 443 : Modèles et variables sans nom (aperçu) : Améliore le langage Java en permettant aux modèles sans nom de mettre en correspondance un composant d'enregistrement sans indiquer le nom ou le type du composant, ainsi que les variables sans nom pouvant être initialisées mais non utilisées. Cela permet de simplifier le processus de développement en améliorant la lisibilité des modèles d'enregistrement et la facilité de maintenance de l'ensemble du code.
  • JEP 445 : Méthodes principales des instances et classes sans noms (aperçu) : Simplifie et améliore l'accessibilité du langage Java afin que les enseignants puissent introduire progressivement les concepts de programmation. En évitant l'introduction d'un dialecte de Java distinct pour les débutants et d'une chaîne d'outils séparée pour les débutants, les programmes des élèves peuvent être compilés et exécutés avec les mêmes outils que ceux qui compilent et exécutent n'importe quel programme Java. Les élèves peuvent ainsi écrire des programmes de base avec concision et développer leur code au fur et à mesure que leurs compétences augmentent. Cela favorise la productivité des apprentis développeurs en leur permettant d'écrire leurs premiers programmes sans avoir à comprendre les fonctionnalités linguistiques conçues pour les grands programmes.

Fonctionnalités de prévisualisation du projet Panama

  • JEP 434 : API de mémoire et de fonctions étrangères (troisième aperçu) : Introduit une API pour permettre aux programmes Java d'interagir avec du code et des données en dehors de l'exécution Java. En appelant efficacement des fonctions étrangères (du code en dehors de la Java Virtual Machine [JVM]) et en accédant en toute sécurité à la mémoire étrangère (la mémoire non gérée par la JVM), cette nouvelle API permet aux programmes Java d'appeler des bibliothèques natives et de traiter des données natives sans nécessiter la Java Native Interface. Les développeurs bénéficient ainsi d'une plus grande convivialité, flexibilité, sécurité et de plus grandes performances.
  • JEP 448 : API de vecteur (sixième incubation) : Introduit une API pour communiquer les calculs de vecteur qui effectuent une compilation fiable lors de l'exécution pour vectoriser les instructions sur les architectures de processeurs prises en charge. Les développeurs peuvent ainsi améliorer les performances de leurs projets en leur donnant accès à une API capable d'exprimer clairement et concrètement un large éventail de calculs vectoriels.

Java 21 est le fruit d'une collaboration étroite entre les ingénieurs d'Oracle et le reste de la communauté de développeurs Java dans le monde entier via OpenJDK et le Java Community Process (JCP). En plus des nouvelles améliorations, Java 21 est pris en charge par Java Management Service (JMS), un service Oracle Cloud Infrastructure (OCI) natif, qui fournit une console et un tableau de bord unifiés pour aider les entreprises à gérer leurs exécutions et leurs applications Java on-premises ou dans le cloud de leur choix. Pour plus de détails sur les fonctionnalités de Java 21, lisez l'article de blog technique de Java 21.

Prise en charge de l'écosystème Java mondial avec de l'innovation dans le cloud

Java offre des performances, une efficacité et une innovation optimales lorsqu'il est déployé dans le cloud sur OCI, le premier cloud à très grande échelle à prendre en charge Java 21. Les clients bénéficient de nombreux avantages à l'échelle de l'entreprise en exécutant Java sur OCI, notamment la réduction des coûts opérationnels, l'amélioration des performances sans frais supplémentaires et la modernisation des applications Java existantes ou la création de nouvelles applications à l'aide des nouvelles fonctionnalités. Oracle Java SE, Oracle GraalVM et le pack Java SE Subscription Enterprise Performance Pack sont disponibles gratuitement sur OCI, permettant aux développeurs de créer et de déployer des applications qui s'exécutent plus rapidement, mieux et avec un rapport coût- performance optimisé.

Oracle Java Universal SE Subscription est une offre de paiement à l'utilisation qui fournit aux clients le meilleur support, avec notamment la prise en charge du tri pour l'ensemble de leur portefeuille Java, le droit à GraalVM, Java SE Subscription Enterprise Performance Pack, l'accès aux fonctionnalités avancées de Java Management Service et la flexibilité nécessaire pour les mettre à niveau au rythme de l'entreprise. Les services informatiques peuvent ainsi gérer la complexité, limiter les coûts et atténuer les risques de sécurité.

La communauté mondiale Java adopte Java 21

« Java 21 est l'une des versions les plus importantes de Java, car les fils d'exécutions virtuels auront un impact sur la façon dont nous développons et déployons des applications asynchrones, des microservices aux applications d'entreprise », explique le Dr Venkat Subramaniam, Fondateur d'Agile Developer, Inc. « Avec peu d'efforts de codage, les applications des développeurs peuvent évoluer pour prendre en charge un grand nombre d'opérations d'E/S et d'appels de service sans imposer de demande indue sur les ressources. L'augmentation de la mise à l'échelle à des coûts réduits représente une grande victoire pour les entreprises qui comptent sur Java en production. »

« Je suis enthousiasmé par la fonctionnalité de prévisualisation "Méthodes principales d'instances et de classes sans nom" de Java 21 », déclare Barry Burd, Professeur à Drew University. « Les étudiants de mes cours d'introduction pourront commencer rapidement et facilement à coder dans le calme et sans confusion. Dans mes livres, je peux présenter des exemples complets sans code superflu. Mieux encore, ces nouvelles fonctionnalités sont en adéquation avec la philosophie générale de Java. Les classes sans nom rejoignent leurs cousins de package et de module sans nom. Et c'est aussi rétrocompatible. »

« La fonctionnalité de collections séquencées de Java 21 est un excellent ajout pour la communauté des développeurs. Les développeurs n'ont plus à s'inquiéter de compter accidentellement sur l'ordre de rencontre dans un test JUnit. Ils n'ont qu'à veiller à l'échec du serveur de construction, la mise à niveau ou autres », explique Jeanne Boyarsky, Java champion. « Avec les collections séquencées, cet ordre sera défini, ce qui signifie : finies les surprises ! »

Développement de Dev.java avec Java Playground et Community Contributions
Dev.java est le site officiel des développeurs Java. Aujourd'hui, nous annonçons l'ajout de Java Playground ainsi que de nouvelles contributions communautaires au catalogue de contenu.

Le Java Playground est un modèle d'environnement restreint en ligne qui permet aux utilisateurs de saisir et d'exécuter de petits fragments de code Java sans avoir besoin d'un environnement d'exécution ou d'un IDE local. Les développeurs peuvent tester immédiatement de nouvelles fonctionnalités à partir de Java 21, le tout à partir d'un navigateur, optimisé par OCI.

Dev.java propose des centaines de tutoriels Java de haute qualité pour tous les niveaux de compétence, rédigés par l'équipe Java d'Oracle. Maintenant, Dev.java accepte également les contributions de la communauté via le nouveau dépôt public de l'organisation Java sur GitHub,

Les développeurs peuvent déjà trouver aujourd'hui des contributions communautaires grâce à des personnalités du secteur telles que Dr  Venkat Subramaniam, Cay Horstmann, Jeanne Boyarsky, Heinz Kabutz, Paul Anderson et Gail Anderson.

Pour en savoir plus sur Java et son écosystème mondial, rendez-vous sur :

  • Dev.java : Portail officiel pour l'apprentissage de Java
  • Inside.java : Actualités et avis des membres de l'équipe Java chez Oracle
  • Java YouTube : Portail Java YouTube officiel pour les vidéos d'apprentissage de Java

# # #

Ressources supplémentaires

Informations de contact

Bastien ROUSSEAU

Oracle France
Tél : 06 27 45 32 06

Romain MICHAUD - Maxence GODEFROY - Grégory ALLEAUME

Agence LEWIS - PISTON
06 17 98 29 88 - 06 18 53 06 12 - 07 63 44 84 70

À propos d’Oracle

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

À propos d’Oracle CloudWorld

Oracle CloudWorld est la plus grande manifestation internationale organisée par Oracle à l’intention de ses clients et partenaires. Venez découvrir comment relever vos plus grands défis professionnels, renforcer vos compétences, accroître vos connaissances et réseauter. Des concepteurs et des utilisateurs de notre infrastructure cloud, de nos bases de données, de nos applications et de nos technologies de développement telles que Java vous en apprendront davantage à leur sujet. Pour vous inscrire et obtenir des présentations en direct, les détails des sessions, les actualités et plus encore, rendez-vous sur le site oracle.com/fr/cloudworld ou oracle.com/fr/news.

Clause de non-responsabilité sur les déclarations prévisionnelles

Les déclarations contenues dans cet article concernant les projets à venir d’Oracle, ses attentes, ses opinions et ses intentions sont des « déclarations prospectives », soumises à des risques matériels et à des incertitudes. De nombreux facteurs peuvent affecter les attentes actuelles et les résultats réels d’Oracle, et peuvent entraîner des différences significatives entre les résultats réels. Une discussion détaillée de ces facteurs et d’autres risques qui affectent notre activité est contenue dans les dépôts d’Oracle à la SEC (Securities and Exchange Commission), y compris nos derniers rapports sur les formulaires 10-K et 10-Q sous la rubrique « Facteurs de risque ». Ces documents sont disponibles sur le site Web de la SEC ou sur le site Web d’Oracle à l’adresse http://www.oracle.com/fr/investor. Toutes les informations contenues dans cet article sont d’actualité au 19 septembre 2023. Oracle ne s’engage aucunement à mettre à jour ces déclarations à l'aune des nouvelles informations portées à sa connaissance ou d'événements survenant ultérieurement.

Marques déposées

Oracle, Java, MySQL et NetSuite sont des marques déposées d’Oracle Corporation. NetSuite est la première entreprise de cloud à avoir adopté la nouvelle ère du cloud computing.

Oracle Chatbot
Disconnected