Oracle a annoncé Java 27, la nouvelle version de sa plateforme de développement, intégrant des améliorations en termes de performance, de sécurité et de productivité, avec une attention particulière portée à deux domaines en forte croissance dans les applications d’entreprise : l’intelligence artificielle et la cryptographie post-quantiqe. Cette mise à jour inclut un échange de clés hybride pour TLS 1.3 et de nouvelles fonctionnalités visant à optimiser l’efficacité des applications de traitement de données, des microservices et des charges de travail en IA.
Les clés de Java 27 et l’IA en 20 secondes
- Java 27 intègre JEP 527, avec un échange hybride de clés post-quantiques pour TLS 1.3.
- La Vector API atteint sa douzième incubation pour accélérer le traitement, l’analyse et l’inférence en IA.
- Structured Concurrency passe à sa septième version préliminaire, facilitant la coordination de tâches multiples dans les applications.
- Les en-têtes d’objets compacts sont désormais activés par défaut, réduisant la consommation de mémoire de la JVM.
- Oracle prépare également JDK 28 avec des avancées issues du projet Valhalla et poursuit le développement du projet Leyden.
Cette mise à jour intervient alors que Java continue d’occuper une place centrale dans le logiciel d’entreprise, alors que les équipes de développement intègrent de plus en plus de modèles d’IA, de services distribués et d’applications capables de gérer plusieurs opérations simultanément.
Oracle place précisément cette combinaison au cœur de Java 27. La société ne présente pas la nouvelle version comme un langage dédié à l’intelligence artificielle, mais comme une evolution de la plateforme permettant d’exécuter des applications d’entreprise intégrant modèles, agents, données et services distribués.
Un des changements majeurs concerne un domaine en dehors de l’IA elle-même : la cryptographie post-quantiqe. Java 27 introduit des avancées dans ce domaine, qui vise à préparer les systèmes actuels face à la menace potentielle de futurs ordinateurs quantiques capables de casser certains algorithmes cryptographiques employés aujourd’hui.
Java 27 intègre un échange hybride de clés post-quantiques
Le JEP 527, Post-Quantum Hybrid Key Exchange for TLS 1.3, ajoute un échange hybride de clés post-quantiques pour TLS 1.3, le protocole utilisé pour sécuriser les communications entre applications et services.
Oracle associe cette fonctionnalité au risque connu sous le nom de harvest now, decrypt later, où un attaquant pourrait collecter aujourd’hui des communications chiffrées en anticipant de pouvoir les déchiffrer dès que de suffisantes capacités seront disponibles à l’avenir.
L’approche hybride permet de combiner des mécanismes cryptographiques traditionnels avec des algorithmes conçus pour résister aux attaques des ordinateurs quantiques, ce qui pourrait se révéler pertinent pour les communications entre services, modèles IA, agents, API, plateformes cloud et applications distribuées.
Java 27 inclut également le JEP 538, dédié aux encodages PEM pour les objets cryptographiques, en troisième version préliminaire. Son objectif est d’améliorer la gestion du matériel cryptographique et l’interopérabilité avec les outils de sécurité et systèmes de gestion de certificats.
Le JEP 536 propose quant à lui une rédaction en flux de données via Java Flight Recorder (JFR), pour réduire l’exposition d’informations sensibles lors de diagnostics en production.
Sur le plan sécurité, Oracle introduit Jipher 20 dans Java Verified Portfolio, intégrant un module cryptographique OpenSSL validé selon FIPS 140-3, avec support pour des algorithmes post-quantiques tels que ML-KEM et ML-DSA.
API Vector et concurrence pour les charges en IA
Java 27 comporte également des évolutions impactant directement les applications de traitement intensif de données.
JEP 537, Vector API, en sa douzième incubation, permet d’exploiter des instructions vectorielles du processeur pour effectuer certains traitements plus efficacement, sans nécessiter de recourir systématiquement à du code natif spécifique.
Oracle envisage ses usages pour l’analyse, l’inférence en IA, la computation scientifique ou le traitement multimédia, avec pour objectif d’améliorer la performance tout en conservant la portabilité de l’écosystème Java.
JEP 533, Structured Concurrency, en septième version préliminaire, facilite la gestion structurée des tâches parallèles, particulièrement utile dans les applications IA où un service doit simultanément appeler des modèles, récupérer des informations, enrichir des données ou traiter des résultats.
Java 27 propose ainsi des outils pour gérer ces opérations de manière plus cohérente, avec des mécanismes pour améliorer l’annulation, la gestion des erreurs et la traçabilité.
Une autre évolution en phase de test, la cinquième version préliminaire de JEP 532, Primitive Types in Patterns, instanceof, and switch, uniformise le traitement des types primitifs et objets dans le langage.
Enfin, JEP 531, Lazy Constants, en troisième version préliminaire, permet de mieux contrôler l’initialisation de certaines constantes, ce qui peut être utile dans des scénarios de consommation limitée de ressources ou de réduction des temps de chargement.
Ces innovations n’en font pas une plateforme d’IA en soi, mais améliorent la performance et l’efficacité de l’exécution des applications intégrant des modèles et services d’intelligence artificielle.
Réduction de mémoire et perspective vers JDK 28
Parmi les changements de performance notables, on trouve JEP 534, Compact Object Headers by Default. Java 27 active en standard les en-têtes d’objets compacts.
Cela permet de réduire la mémoire utilisée par certains objets gérés par la JVM, ce qui peut augmenter la densité d’applications sur serveurs et diminuer la consommation mémoire en certain scénarios.
Ce changement est particulièrement pertinent pour les grandes installations Java, en particulier celles avec plusieurs microservices ou applications en parallèle, notamment dans des contextes de traitement intensif ou d’IA.
Le JEP 523 établit aussi G1 comme ramasse-miettes par défaut dans tous les environnements. G1 (Garbage-First) optimise la gestion de la mémoire en récupérant efficacement les objets obsolètes.
L’objectif est d’uniformiser la gestion de la mémoire en milieu d’exécution et de faciliter la migration vers Java 27.
Encore en phase de développement, Oracle dévoile déjà une partie des nouveautés prévues pour JDK 28 via son programme d’accès anticipé.
Le projet Valhalla vise à représenter les données en Java sous forme de classes et d’objets de valeur, réduisant l’écart entre objets et types primitifs, et permettant des représentations plus compactes et performantes.
Oracle vise avec ces avancées des domaines comme l’analyse, la finance, la computation scientifique ou l’IA, avec un accès en version Early Access à JDK 28 pour tester ces nouveautés avant leur version finale.
Par ailleurs, le projet Leyden continue pour réduire le temps de démarrage, accélérer la montée en régime, et limiter la consommation de mémoire, notamment par la compilation ahead-of-time.
Ce lancement s’accompagne aussi de mises à jour d’autres composants de l’écosystème. Helidon 27, le framework Java open source d’Oracle dédié aux microservices cloud-native, intègre une architecture basée sur des threads virtuels, des APIs déclaratives et des modules pour gRPC et la messagerie.
JavaFX 27 poursuit l’amélioration du framework pour interfaces graphiques, avec notamment un nouveau pipeline graphique Metal sous macOS et des avancées en termes d’accessibilité.
Oracle souligne également la compatibilité de Java 27 avec sa solution Java Verified Portfolio, regroupant des composants bénéficiant d’un support commercial d’Oracle.
Pour les développeurs d’applications IA, cette mise à jour ouvre plusieurs perspectives en réponse à leurs besoins : traitement vectoriel, concurrence structurée, réduction de mémoire, communications optimisées pour les algorithmes post-quantiques. Bien que ces fonctionnalités ne soient pas exclusivement dédiées à l’IA, leur combinaison représente une étape vers des applications d’entreprise plus performantes, exploitant davantage de données et de services distribués.
Questions fréquentes
Quelles nouveautés IA apporte Java 27 ?
Java 27 introduit la Vector API, notamment pour le traitement de données et l’inférence en IA, ainsi que Structured Concurrency, qui facilite la coordination de plusieurs tâches en parallèle dans les applications modernes.
Comment Java 27 répond-il aux menaces quantiques ?
Le JEP 527 prévoit un échange hybride de clés post-quantiques pour TLS 1.3, et Oracle intègre aussi des algorithmes post-quantiques comme ML-KEM et ML-DSA dans Jipher 20.
Java 27 consomme-t-elle moins de mémoire ?
Oui, en activant par défaut les en-têtes d’objets compacts, Java 27 réduit l’utilisation mémoire dans certains cas, ce qui est avantageux notamment pour les déploiements en grande échelle.
Quelles sont les perspectives pour Java 28 ?
JDK 28 Early Access permet d’expérimenter des avancées liées à Project Valhalla, tandis qu’Oracle poursuit le développement de Project Leyden pour optimiser démarrage, performance et empreinte mémoire des applications Java.