Java & LanguagesJava & Languages
3H Deep Dive180min
INTERMEDIATE

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é Paumard
José PaumardOracle
Remi Forax
Remi ForaxUniversité Gustave Eiffel
talks.description
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.
java
threads
asynchrones
loom
talks.speakers
José Paumard

José Paumard

Oracle

France

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

Remi Forax

Université Gustave Eiffel

France

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 :
  • 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
En tant qu'enseignant, il donne des cours sur la programmation Java et les technologies web. Il est également un conférencier régulier dans de nombreux évènements techniques.
comments.title

comments.speakerNotEnabledComments