Christian Woerz
Java 21: The Revolution of Virtual Threads - A Deep Dive
#1about 6 minutes
Building a traditional blocking web application
A live coding demonstration shows how to build a standard blocking API with Spring Boot and how its performance degrades under load.
#2about 5 minutes
Understanding the limitations of platform threads
Creating thousands of traditional platform threads demonstrates their high memory consumption, 1:1 mapping to OS threads, and eventual OutOfMemoryError.
#3about 12 minutes
Improving performance with a reactive approach
Refactoring the blocking API to use asynchronous programming with CompletableFuture solves the performance bottleneck but introduces significant code complexity.
#4about 7 minutes
How virtual threads solve the concurrency problem
Virtual threads are lightweight, JVM-managed threads that run on a small pool of carrier threads, enabling millions of concurrent tasks without high memory overhead.
#5about 4 minutes
Enabling virtual threads in a Spring Boot application
A single configuration flag in Spring Boot 3.2 is all that's needed to switch the application to use virtual threads for handling requests.
#6about 8 minutes
Managing parallel tasks with structured concurrency
StructuredTaskScope provides a modern API to run multiple blocking operations concurrently in separate virtual threads, simplifying parallel code.
#7about 4 minutes
Understanding the limitations of virtual threads
Virtual threads can be "pinned" to their carrier thread by synchronized blocks, native calls, or CPU-intensive tasks, which negates their benefits.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
11:15 MIN
Understanding the new virtual threads model
Modern Java: This is not your father's Java anymore
43:46 MIN
Q&A on virtual threads, reactive programming, and Java 21
Introduction and pitfalls of Java's new concurrency model
39:11 MIN
What's new in the Java 21 LTS release
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
18:22 MIN
Solving blocking issues with Project Loom's virtual threads
Java's Project Loom & Co - the end for reactive programming?
23:08 MIN
Q&A on Project Loom and integration challenges
Side-by-Side: Reactive vs non-reactive Java
01:39 MIN
Understanding the goals of Java's Project Loom
Java's Project Loom & Co - the end for reactive programming?
07:40 MIN
Introducing lightweight virtual threads in Java 21
Introduction and pitfalls of Java's new concurrency model
43:51 MIN
Comparing Project Loom with reactive programming
Kubernetes Native Java
Featured Partners
Related Videos
Introduction and pitfalls of Java's new concurrency model
David Vlijmincx
Java's Project Loom & Co - the end for reactive programming?
Jan Weinschenker
Modern Java: This is not your father's Java anymore
Ron Veen
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
Jonathan Vila
The Eventloop in JavaScript - How does it work?
Christian Woerz
Bootiful Spring Boot 3
Josh Long
Side-by-Side: Reactive vs non-reactive Java
Jan Weinschenker
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Related Articles
View all articles
.gif?w=240&auto=compress,format)


From learning to earning
Jobs that call for the skills explored in this talk.



Java Fullstack Entwickler
XDEV Software
XDEV Software
Weiden i.d. OPf., Germany
Remote
GIT
Java
JUnit
Maven
+4

Associate Software developer (15 month FTC) Java or Groovy
Adaptavist
Municipality of Vitoria-Gasteiz, Spain
Remote
API
CSS
GIT
Java
+27

Associate Software developer (15 month FTC) Java or Groovy
Adaptavist
Municipality of Valladolid, Spain
Remote
API
CSS
GIT
Java
+27

Associate Software developer (15 month FTC) Java or Groovy
Adaptavist
Municipality of Santiago de Compostela, Spain
Remote
API
CSS
GIT
Java
+27


eFX Low Latency Java Developer
Stealth It
Charing Cross, United Kingdom
£146K
Java
Unix
Scrum
Unit Testing
+1
