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
03:59 MIN
Understanding the new virtual threads model
Modern Java: This is not your father's Java anymore
02:24 MIN
Solving blocking issues with Project Loom's virtual threads
Java's Project Loom & Co - the end for reactive programming?
09:05 MIN
Q&A on virtual threads, reactive programming, and Java 21
Introduction and pitfalls of Java's new concurrency model
02:05 MIN
Understanding the goals of Java's Project Loom
Java's Project Loom & Co - the end for reactive programming?
01:12 MIN
Comparing Project Loom with reactive programming
Kubernetes Native Java
15:32 MIN
Q&A on GraalVM, Project Loom, and gRPC
Bootiful Spring Boot 3
03:16 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
02:33 MIN
Q&A on Project Loom and integration challenges
Side-by-Side: Reactive vs non-reactive 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
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
Jonathan Vila
Modern Java: This is not your father's Java anymore
Ron Veen
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Bootiful Spring Boot 3
Josh Long
Best of Java 15 and beyond—my favorite features
Michael Inden
Route from Java to Kotlin
Christian Woerz
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.


wunschlösung GmbH
Jena, Germany
Intermediate
Senior
Java



wunschlösung GmbH
Jena, Germany
Intermediate
Senior
Java
Docker
MongoDB


Haufe-Lexware GmbH & Co. KG
Freiburg im Breisgau, Germany
Intermediate
Senior
Java
React
TypeScript

