Ajouter un commentaire

Un peu de Project Valhalla avec la JEP 401

Par:
francoistonic

lun, 16/03/2026 - 08:56

Le projet Valhalla fut parlé de lui depuis 10 ans. Il apparait de plus en plus comme une illusion même les équipes cherchent à intégrer des "morceaux" de Valhalla en attendant peut-être son support complet. La JEP 401 injecte un peu de Valhalla à la JDK. La JEP 401 arrive maintenant en Build 27-jep401ea3+1+1. C'est en dire en preview. La JEP 401 apporte la notion de Value Classes and Objects. La early access n'est qu'une étape d'une potentielle intégration dans la JDK. En octobre 2025, OpenJDK indiquait juste les premières builds de Value Classes and objects...

Cette mise à jour d'octobre précisait : Valhalla repose sur 5 fonctions distinctes. A savoir : 

- Value Classes and Objects : introduire des objets dépourvus d'identité et peuvent recevoir des encodages optimisés

- Null Checking : pour mieux gérer les flux null en compilation et en runtime

- Array Enhancements

- Unifying Primitives and classes

- Paratremeic JVM

La JEP 401 a pour but de : 

- Permettre aux développeurs d'opter pour un modèle de programmation pour les domain values où les objets sont différenciés uniquement par les valeurs de leurs champs, à l'instar de la distinction entre les entiers 3 et 4.
- migration des classes existantes représentant des domain values vers ce modèle. Migrer les classes appropriées de la JDK, telles que `Integer` et `LocalDate`, vers le statut de classes de valeurs.
- Optimiser la flexibilité de la JVM pour le stockage des domain values afin d'améliorer le poids mémoire, la localité des données et l'efficacité du ramasse-miettes.
Cette build repose sur une build partielle de la JDK 27. 
Et vous qu'en pensez-vous ? 
Pour en savoir plus : https://openjdk.org/jeps/401
Documentation Value Classes and Objects : https://openjdk.org/projects/valhalla/value-objects

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 K  K  DDD   EEEE   CCC  RRRR  
K K D D E C R R
KK D D EEE C RRRR
K K D D E C R R
K K DDD EEEE CCC R RR