Aller au contenu

Préférences et cookies

Afin d’améliorer votre expérience sur notre site et de réaliser des statistiques de visites, nous utilisons des cookies. Rien n’est déposé sans votre accord, et le refus n’enlève l’accès à aucun contenu. Ce choix peut être modifié à tout moment.

Gérer les traceursVos données

Personnaliser

ArticleApplications & Développement

Le projet Valhalla apporte des améliorations au modèle objet de Java

Les propositions d'OpenJDK au sein du projet Valhalla introduiraient des objets de valeur, des objets primitifs, et unifieraient les primitives de base avec les objets, de sorte que toutes les valeurs Java seront des objets.

La rédaction

Le Projet Valhalla d'OpenJDK, qui explore les possibilités de fonctionnalités futures pour le langage Java et la JVM, continue sa progression avec une livraison par étapes des objets de valeur (Value Objects), des objets primitifs (Primitive Objects) et de l'unification des primitives de base.

L'objectif général et ambitieux du Projet Valhalla est de combler le fossé entre les primitives et les objets. Dans un billet de blog publié en décembre 2021 et intitulé « The State of Valhalla », Brian Goetz, architecte du langage Java chez Oracle, mentionne trois capacités clés figurant dans les propositions d'amélioration du JDK (JEP) attendues par la communauté OpenJDK :

  • Les objets de valeur : ils amélioreraient le modèle objet de Java avec des instances de classe n’ayant que des champs d'instance finaux et pas d'identité d'objet.

  • Les objets primitifs : ils amélioreraient le modèle objet de Java avec des objets primitifs déclarés par l'utilisateur.

  • L’unification des primitives et des objets de base.

Un travail de longue haleine

Lancé en 2014, l’objectif du projet Valhalla est d'apporter des types de données plus flexibles et plus plats aux langages basés sur la JVM afin de rétablir une coïncidence entre le modèle de programmation et les caractéristiques de performance des hardwares modernes. Les objectifs suivants ont été décrits dans une série de billets de blog publiés récemment, intitulés « The Road to Valhalla », « The Language Model » et « The State of Valhalla » :

  • Un plan générique impliquant des génériques universels et des génériques spécialisés.

  • L’unification des primitives et des objets de façon à pouvoir déclarer les types de genre primitif avec des classes tout en conservant les caractéristiques d'exécution des primitives.

  • La migration de nombreuses classes basées sur des valeurs dans le JDK vers des classes de valeurs.

  • Des dispositions de données mieux adaptées aux performances du hardware actuel en fournissant aux développeurs Java un accès plus facile à des dispositions de mémoire dense et efficace en termes de cache sans compromettre l'abstraction ou la sécurité des types.

Valhalla est parrainé par le HotSpot Group, un collectif composé de développeurs impliqués dans la conception, la mise en œuvre et la maintenance de la machine virtuelle HotSpot de Java. Le projet Valhalla a déjà livré ses mises en garde pour les classes basées sur la valeur, introduites dans Java 16 en mars 2021.

Newsletter

La Quotidienne LMI

Recevez chaque matin l’actualité IT de la rédaction.

Le projet Valhalla apporte des améliorations au modèle objet de Java