Conférence Java 2024 : principales annonces et nouveautés qui transformeront le développement
Fin mars 2024, l'une des plus grandes conférences Java, JavaOne 2024, s'est achevée à San Francisco. L'événement a rassemblé des milliers de développeurs, architectes et leaders techniques du monde entier. Le thème principal de cette année était l'avenir du langage : des threads virtuels à l'amélioration de la gestion de la mémoire et aux nouvelles fonctionnalités de JDK 22. Nous avons rassemblé les annonces les plus importantes que tout développeur Java devrait connaître.
Project Loom : les threads virtuels deviennent la norme
L'un des événements les plus attendus a été la sortie de la version stable de Project Loom dans JDK 22. Désormais, les threads virtuels (Virtual Threads) sont définitivement sortis du mode « preview » et sont prêts pour une utilisation industrielle.
- Performance : Les threads virtuels permettent de traiter des millions de tâches parallèles sans la surcharge traditionnelle des threads système.
- Simplicité : Les développeurs n'ont plus besoin d'utiliser des frameworks réactifs complexes — il suffit d'écrire du code bloquant classique.
- Compatibilité : Toutes les bibliothèques populaires (Spring, Hibernate, Tomcat) sont déjà adaptées au nouveau modèle.
Les experts notent que Loom pourrait devenir le « tueur » de la programmation réactive en Java, simplifiant considérablement le développement de services à forte charge.
Project Valhalla : value types et generics améliorés
Une autre annonce majeure est le progrès de Project Valhalla, qui vise à introduire les value types (types-valeurs). JDK 22 propose une deuxième version d'incubation de cette technologie.
- Value Types : Permettent de créer des objets compacts stockés dans la pile plutôt que dans le tas. Cela réduit la charge sur le GC et accélère le traitement de grands ensembles de données.
- Generic Specialization : Meilleure gestion des generics — ils peuvent désormais fonctionner directement avec les types primitifs (int, long, double) sans autoboxing.
- Exemple : La classe
Complexpourra être déclarée comme value type, offrant des performances proches du code natif.
Project Amber : une syntaxe plus concise
Project Amber continue d'améliorer la lisibilité et la concision du code. Parmi les principales nouveautés de JDK 22 :
- Pattern Matching for switch : Il est désormais possible d'utiliser des motifs plus complexes (y compris des conditions guard) directement dans les constructions switch.
- String Templates (deuxième preview) : Interpolation de chaînes sans concaténations lourdes —
STR."Bonjour \\{nom}!". - Record Patterns : Décomposition des records directement dans la déclaration de variables —
if (obj instanceof Point(int x, int y)).
Spring Boot 3.3 : intégration avec le nouveau JDK
La conférence a également annoncé la sortie de Spring Boot 3.3, qui prend entièrement en charge JDK 22 et les threads virtuels. Principales améliorations :
- Configuration automatique des Virtual Threads pour tous les Thread Pools intégrés.
- Prise en charge de GraalVM Native Image — un démarrage encore plus rapide des applications.
- Nouveaux starters pour les microservices et les solutions cloud.
Conclusion
La conférence JavaOne