Programmation et développement logiciel

Java 27 arrive avec quatre fonctionnalités stables et des améliorations en matière de sécurité et de performances

Java a publié la version 27 le 15 septembre 2026, avec neuf initiatives JEP, dont quatre fonctionnalités stables : l’adoption de G1 comme collecteur de mémoire par défaut dans tous les environnements, les en-têtes d’objets compressés et un échange de clés hybride résistant à la cryptographie post-quantique. JetBrains a confirmé la prise en charge de cette version par IntelliJ IDEA dès le premier jour.

2026-09-15
5 min de lecture
5 vues
فريق تحرير certi.news
Java 27 arrive avec quatre fonctionnalités stables et des améliorations en matière de sécurité et de performances

Java a publié la version 27 le 15 septembre 2026, conformément à son cycle de versions semestriel. Elle comprend neuf initiatives JEP, dont quatre sont devenues stables, tandis que quatre autres fonctionnalités poursuivent leur phase de préversion et qu’une interface reste au stade de l’incubation. JetBrains indique qu’IntelliJ IDEA prend en charge Java 27 dès le premier jour, y compris les fonctionnalités stables et les fonctionnalités de préversion propres à cette version.

Les principales fonctionnalités devenues stables

Le changement opérationnel le plus important est l’adoption du collecteur de mémoire G1 par défaut dans tous les environnements HotSpot JVM. Dans les versions précédentes, les machines dotées d’un seul processeur ou de moins de 1 792 mégaoctets de mémoire utilisaient Serial GC. Après les améliorations apportées à G1, celui-ci devient l’option par défaut même dans ces environnements, tout en laissant la possibilité de sélectionner manuellement Serial GC à l’aide de l’option -XX:+UseSerialGC si nécessaire.

Java 27 ajoute également un échange de clés hybride post-quantique dans TLS 1.3. Ce changement vise le scénario « collecter maintenant et déchiffrer plus tard », dans lequel un attaquant peut enregistrer dès aujourd’hui des données chiffrées et tenter de les déchiffrer à l’avenir, lorsqu’il disposera de capacités quantiques suffisantes.

Les en-têtes d’objets compressés deviennent eux aussi l’option par défaut dans HotSpot JVM. Ce changement réduit la taille de l’en-tête de 96 à 64 bits sur les architectures 64 bits, ce qui peut diminuer la consommation de mémoire, accroître la densité de déploiement et améliorer la localité des données, notamment dans les applications qui créent un grand nombre d’objets. JetBrains a indiqué que ses environnements de développement avaient constaté des économies de mémoire constantes lors de l’utilisation de cette fonctionnalité.

La quatrième amélioration stable ajoute à JDK Flight Recorder la possibilité d’assainir les arguments de la ligne de commande ainsi que les valeurs initiales des variables d’environnement et des propriétés système avant la sortie de l’enregistrement du processus, afin de limiter les fuites d’informations sensibles.

Fonctionnalités en préversion et en incubation

Java 27 poursuit le développement des constantes paresseuses, qui ne sont évaluées qu’en cas de besoin, des motifs de types primitifs dans instanceof et switch, de la concurrence structurée et des encodages PEM pour les objets cryptographiques. Ces fonctionnalités ne sont pas définitives et peuvent changer avant leur adoption. IntelliJ IDEA ne permet donc de les utiliser qu’avec la version actuelle du JDK, lorsque le niveau de langage 27 (Preview) est activé.

La Vector API reste au sein d’un module incubateur. Elle permet d’exprimer des opérations vectorielles susceptibles d’être traduites en instructions adaptées aux processeurs pris en charge. Pour l’utiliser, il faut ajouter explicitement le module avec l’option --add-modules jdk.incubator.vector, ce qui confirme qu’elle n’est pas encore destinée à un usage stable en production.

Quels changements concrets pour les développeurs ?

JDK 27 peut être téléchargé depuis les paramètres d’IntelliJ IDEA, ou relié à un environnement de développement déjà installé. Le programme peut également lire les fichiers .sdkmanrc et .tool-versions afin de configurer automatiquement la version du JDK lors de l’utilisation de SDKMAN! ou d’asdf. La prise en charge inclut aussi la mise en évidence des fonctionnalités de préversion dans l’éditeur, ce qui aide les équipes à repérer les emplacements qui dépendent d’interfaces susceptibles d’évoluer.

Java 27 comprend également un correctif visant le ralentissement de la navigation pendant le débogage, que JetBrains a rétroporté dans JetBrains Runtime 25. Pour les équipes qui ne souhaitent pas encore passer à Java 27, cela peut permettre de bénéficier de cette amélioration via JBR 25 ou via une version de JDK 25 intégrant le correctif.

Java 27 n’est pas une version bénéficiant d’un support à long terme, mais ses changements stables concernent la gestion de la mémoire, la sécurité des communications et l’intégrité des données d’enregistrement, et pas seulement des ajouts au langage. En revanche, les fonctionnalités de préversion et d’incubation ne conviennent pas encore à la prise de décisions définitives pour la production. De même, l’adoption de G1 par défaut ne dispense pas de tester les applications aux ressources limitées qui pourraient tirer parti de Serial GC.

Source de l’actualité
ف
Auteur

فريق تحرير certi.news

Dans la même catégorie

À lire également

Voir toutes les actualités