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
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
08:07 MIN
Exploring modern JavaScript performance and new CSS features
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
03:16 MIN
Improving the developer feedback loop with specialized tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
11:32 MIN
The industry's focus on frameworks over web fundamentals
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
00:30 MIN
The feasibility of coding entirely on a mobile phone
Fake or News: Coding on a Phone, Emotional Support Toasters, ChatGPT Weddings and more - Anselm Hannemann
06:47 MIN
Solving date and time issues with the Temporal API
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
03:31 MIN
The value of progressive enhancement and semantic HTML
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
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.





dmTECH
Karlsruhe, Germany
API
CSS
Java
REST
MySQL
+8

Intellico
Buochs, Switzerland
Intermediate
CSS
GIT
HTML
Java
SASS
+9


Haufe-Lexware GmbH & Co. KG
Freiburg im Breisgau, Germany
Remote
Senior
Java
REST
Scrum
React
+4

KA RESOURCES
Köln, Germany
Remote
Intermediate
CSS
GIT
HTML
Java
+10