Plusieurs projets sont en cours pour améliorer et optimiser Java. Dans une présentation vidéo, Nicolai Parlog, développeur Java chez Oracle a donné un aperçu de ces initiatives. Ainsi, le projet Loom explore les fonctionnalités et les API de JVM (java virtual machine) pour la mise en œuvre de threads légers en mode utilisateur. Le développeur a indiqué que dans Loom, l'API de concurrence structurée, destinée à la programmation concurrente, fera l'objet d'un aperçu avec de légères modifications dans le JDK 26 et sera probablement finalisée d'ici la fin de l'année. Actuellement en phase ramp-down, le JDK 26 devrait être commercialisé le 17 mars.
Le programme Valhalla vise à enrichir le modèle objet Java avec des objets de valeur. L’équipe d’Oracle s'efforcera de fournir un aperçu des types de valeurs au cours du second semestre de cette année, après quoi les travaux se concentreront sur les types null-aware, les améliorations des tableaux et l'unification des primitives et des wrappers. Les « Value objects » sont des instances de classe qui ne possèdent que des champs finaux et ne disposent pas d'identité objet. Avec eux, les utilisateurs pourront opter pour un modèle de programmation pour les valeurs de domaine dans lequel les objets se distinguent uniquement par les valeurs de leurs champs.
Une compilation plus rapide
De son côté, le projet Leyden comprend la compilation de code AOT (ahead-of-time) dont l’objectif est l'accélération du démarrage des programmes Java en rendant le code natif d'une application précédente immédiatement disponible lorsque la JVM HotSpot démarre. L’initiative explorera aussi la portabilité du cache de code et l'apprentissage itératif, qui permettent aux frameworks d'entraîner le cache. L'inspection des données d'apprentissage sera également examinée.
L’équipe d’Oracle va également se pencher sur le programme Amber qui cherche à produire des fonctionnalités Java plus petites et axées sur la productivité. Pour cela, elle prévoit notamment d'étudier les modèles de chaînes et de déposer des propositions d’aménagement du JDK (JDK Enhancement Proposals, JEP) pour les modèles constants et les interfaces. L’équipe pourrait également mettre à jour les classes et interfaces de type record et rendre le Pattern Matching plus inclusif.
Réflexion de code et ouverture à des langages tiers
Concernant Panama, qui se concentre sur l'amélioration des connexions entre la JVM et les API non Java, l'API vectorielle prévue pour le JDK 26 en sera à sa 11ᵉ incubation. L'agenda de Panama pour 2026 prévoit par ailleurs des améliorations générales de l'outil jextract pour l’analyse syntaxique (parsing) des fichiers d'en-tête des bibliothèques natives et la génération de code. Des améliorations sont également prévues pour l'API Foreign Function and Memory, qui permet aux programmes Java d'interagir avec du code et des données en dehors du runtime Java.
Pour le projet Babylon, qui vise à étendre Java à des environnements de programmation comme SQL, l’équipe prévoit de développer la réflexion de code, qui propose à des frameworks tiers de réfléchir sur du code Java dans une expression lambda et de le traiter. L'équipe Babylon travaillera également sur des preuves de concept pour l'utilisation de la réflexion de code afin d'exécuter des modèles d'apprentissage machine sur GPU.

Commentaire