Java 26 est disponible : sécurité, optimisation, IA et JEP

Par:
francoistonic

mar, 17/03/2026 - 15:20

Java 26 est officiellement disponible. Cette version mise sur la sécurité, le chiffrement et l'IA. Le support commercial de JavaFX et d’Helidon est désormais disponible dans le nouvel Oracle Java Verified Portfolio, une collection complète d’outils, de frameworks, de bibliothèques et de services liés au JDK.

Les principales JEP de Java 26

JEP 530 : Types primitifs dans les patterns, instanceof et switch (quatrième aperçu) : aide les développeurs à gagner en productivité et à rationaliser le développement d’applications intégrant l’inférence IA, en rendant Java plus uniforme et plus expressif. Cette évolution supprime plusieurs restrictions liées aux types primitifs qui compliquaient l’utilisation de pattern matching, instanceof et switch. Pour améliorer encore la productivité, elle renforce également la définition de l’exactitude inconditionnelle et applique des contrôles de dominance plus stricts dans les constructions switch, permettant au compilateur d’identifier et de réduire un plus large éventail d’erreurs de codage. 

JEP 522 : Ramasse-miette G1 : amélioration du débit grâce à une réduction de la synchronisation : aide les développeurs à traiter davantage de tâches en moins de temps en améliorant l’efficacité de la mémoire. Cela réduit la synchronisation entre les threads de l’application et ceux du garbage collector, ce qui augmente le débit avec le ramasse-miette G1. En s’exécutant plus vite et en prenant en charge davantage d’utilisateurs sans matériel supplémentaire, Java améliore l’efficacité, réduit les coûts d’infrastructure et offre une expérience utilisateur plus fluide.

JEP 516 : Mise en cache anticipée des objets avec n’importe quel ramasse-miette : améliore la productivité des développeurs et l’efficacité des ressources en accélérant le démarrage des applications Java avec n’importe quel ramasse-miette (garbage collector). Cela permet le chargement séquentiel en mémoire d’objets Java préinitialisés mis en cache à partir d’un format neutre, indépendant du ramasse-miette. Cela améliore également le cache anticipé, permettant à la HotSpotJava Virtual Machine d’optimiser les temps de démarrage et de warm-up et d’être utilisée avec n’importe quel ramasse-miette, dont ZGC à faible latence. Les développeurs peuvent ainsi réduire les délais de démarrage des applications, faire évoluer leurs applications plus rapidement et offrir une meilleure expérience utilisateur. 

JEP 500 : Préparation au fait que final signifie réellement final : aide les développeurs à renforcer la sécurité et la fiabilité des applications en empêchant des modifications involontaires, des altérations ou des erreurs accidentelles dans des systèmes métier critiques. Cette approche émet des avertissements en cas d’utilisation de la réflexion approfondie (deep reflection) pour modifier des champs final et permet aux développeurs de modifier des champs final lorsque c’est indispensable, afin d’éviter à la fois les avertissements actuels et les restrictions à venir. Ce changement essentiel renforce le principe « d’intégrité par défaut » de Java, axé sur la protection des données sensibles et de la logique métier, la réduction des risques cachés et la diminution de la probabilité de bugs ou de vulnérabilités de sécurité. 

JEP 517 : HTTP/3 pour l’API du client HTTP : aide les développeurs à gagner en productivité en facilitant l’écriture de code interagissant avec des serveurs HTTP. Cette mise à jour de l’API du client HTTP prend en charge le protocole HTTP/3, permettant aux bibliothèques et aux applications d’interagir avec des serveurs HTTP/3 avec des modifications de code minimales. En supprimant ces goulots d’étranglement courants et en accélérant la récupération des données avec une latence réduite, elle permet aux microservices et aux applications Java pilotées par des API d’obtenir de meilleures performances et des connexions réseau plus fiables.

JEP 526 : Constantes paresseuses (deuxième aperçu) : aide les développeurs à gagner en productivité et à utiliser les ressources plus efficacement en offrant davantage de flexibilité quant au moment de leur initialisation, ce qui est particulièrement utile pour les applications d’IA et orientées données. Grâce à une nouvelle API pour les constantes paresseuses, des objets qui contiennent des données non modifiables, la JVM traite ces constantes comme de véritables constantes afin d’obtenir les mêmes performances que lors de la déclaration d’un champ final. En outre, en permettant aux applications Java et à leurs services cloud native et basés sur l’IA de démarrer plus rapidement et d’utiliser plus efficacement les ressources de calcul, elle aide les développeurs à réaliser des déploiements agiles et scalables, générant des économies et une meilleure expérience pour les utilisateurs finaux.

JEP 525 : Concurrence structurée (sixième aperçu) : aide les développeurs à améliorer la maintenabilité, la fiabilité et l’observabilité du code multithread, ce qui est particulièrement utile pour renforcer la scalabilité et la résilience des workloads d’IA et cloud native. Elle simplifie la programmation concurrente via une API de concurrence structurée, qui traite des groupes de tâches liées s’exécutant dans différents threads comme une unité de travail unique et contribue à réduire les risques courants liés à l’annulation et à l’arrêt, tels que les fuites de threads et les délais d’annulation. 

JEP 529 : API vectorielle (11e incubation) : aide les développeurs à améliorer les performances et le rapport coût-efficacité de leurs applications Java en leur permettant de produire davantage d’analyses et de valeur avec moins de matériel. L’API vectorielle décrit des calculs vectoriels qui sont compilés de manière fiable à l’exécution en instructions vectorielles optimales sur les architectures CPU prises en charge, ce qui accélère le traitement des workloads d’analyse de données, d’inférence IA et de calcul scientifique. Les développeurs peuvent ainsi obtenir des performances supérieures à celles de calculs scalaires équivalents, souvent utilisés dans les scénarios d’inférence IA et de calcul. 

JEP 524 : Encodages PEM d’objets cryptographiques (deuxième aperçu) : aide les développeurs à gagner en productivité et à renforcer la sécurité des applications Java sur des formats de sécurité largement utilisés grâce à une nouvelle API d’encodage. L’API encode les objets représentant les clés cryptographiques, les certificats et les listes de révocation de certificats dans le format de transport de courrier largement utilisé et optimisé pour la confidentialité, puis le décode pour les retransformer en objets. Cela réduit le risque d’erreurs, simplifie la conformité et améliore la portabilité et l’interopérabilité des applications Java sécurisées, en rationalisant la configuration et l’intégration de la cryptographie pour les besoins des entreprises, du cloud et des exigences réglementaires.

JEP 504 : Suppression de l’Applet API : aide les développeurs à réduire l’empreinte de leurs installations et de leur code source, et à améliorer les performances, la stabilité et la sécurité des applications en supprimant l’Applet API, dépréciée en vue de sa suppression dans JDK 17 et désormais retirée de la plateforme.

En plus des 10 JEP, Java 26 apporte des dizaines de mises à jour qui aident les entreprises à renforcer la sécurité, la fiabilité et les performances de leurs applications. Avec Java 26, les entreprises peuvent désormais rationaliser le chiffrement sécurisé avec le mécanisme standard du secteur de chiffrement par clé public hybride (HPKE), pérenniser leurs chaînes d’approvisionnement grâce à la signature de JAR compatible avec l’ère post-quantique, et bénéficier d’une meilleure prise en charge des standards mondiaux grâce aux mises à jour vers Unicode 17.0 et CLDR v48. De plus, des contrôles renforcés pour les algorithmes de chiffrement et les keystores hérités consolident encore la sécurité et la conformité, aidant les entreprises à moderniser leurs environnements en toute confiance.