3H Deep Dive180min
Virtual Threads, Structured Concurrency et Scoped Values en Java 25 et au-delà
Le projet Loom simplifie la programmation asynchrone en Java grâce aux threads virtuels, aux Scoped Values et à la Structured Concurrency. La session présente leurs évolutions de Java 21 à 26, les optimisations de performances, ainsi que des exemples et patterns illustrant leurs usages et perspectives futures.
José PaumardOracle
Remi ForaxUniversité Gustave Eiffel
Le projet Loom veut simplifier le modèle de programmation des systèmes asynchrones. Le moyen est de permettre le blocage du thread qui réalise les entrées / sorties sans dégrader les performances de l'application. Cela repose sur l'utilisation de threads virtuels, que Loom nous a apporté en Java 21. Alors que les threads Java classiques sont des enveloppes sur les threads de l'OS, les threads virtuels sont de simples objets Java, que l'on peut créer à la demande. Ils posaient toutefois des problèmes de performances en 21 lors de l'exécution d'un appel I/O dans un bloc synchronisé, point qui a été résolu en Java 24. Outre les threads virtuels, Java 21 nous a apporté deux fonctionnalités en preview : les Scoped Values, qui visent à remplacer l'ancienne API ThreadLocal, et l'API Structured Concurrency, qui permet d'organiser les tâches asynchrones d'une application. L'API Scope Value est finale en Java 25. L'API Structured Concurrency quant à elle a été remaniée en 25 et est toujours en preview en 26. Nous présenterons ces trois éléments en détails, avec des exemples et des patterns de code, et aborderons ce que l'on sait des évolutions futures du projet Loom.
José Paumard
José est Java Developer Advocate au Java Platform Group chez Oracle. Anciennement maître de conférences à l'Université Sorbonne Paris Nord pendant 25 ans, il est Java Champion, Rockstar JavaOne, speaker régulier dans de nombreuses conférences : Devoxx (France, Belgique, UK), JavaOne, Oracle Code One, DevNexus, JFokus. Il a été consultant en entreprise pendant 25 ans, fortement investi en qualité des applications logicielles et Software Craftsmanship. Il est membre du Paris JUG, co-organisateur du Paris JUG Java Day et de JChateau, une unconference annuelle. Il contribue au site https://dev.java/, tient le JEP Café sur YouTube, et publie également une série de shorts : Cracking the Java Coding Interview.
Remi Forax
Rémi Forax est un developpeur et enseignant-chercheur français, connu principalement pour ses contributions au développement de Java et à la communauté OpenJDK. Il est maître de conférences à l'université Gustave Eiffel (anciennement université Paris-Est Marne-la-Vallée).
Il est particulièrement reconnu pour :
Il est particulièrement reconnu pour :
- Ses travaux autour de la machine virtuelle Java (JVM)
- Ses contributions à l'évolution du langage Java (invokedynamic, lambda, module, record, etc)
- Son implication dans le projet OpenJDK
- Son rôle d'expert technique au sein du Java Community Process
comments.speakerNotEnabledComments