~/talk

Get The Most Out of Virtual Threads in Java 25 -A Deep Dive into the Latest Achievements of Virtual

Talkat Spring I/O 2026 · 2026-04-13..04-15· [java, concurrency]
slides:none on file

Demo builds a Spring Boot REST app that switches Tomcat to virtual threads on Java 25 and shows concrete wins: a microbenchmark goes from 10s to 1s because synchronized used to pin virtual threads to workers; a 1,000-concurrent JMeter run drops per-request latency to the 1s sleep bound. Code uses StructuredTaskScope with a custom Joiner implementation to aggregate three parallel info calls (one throws) and returns the best result, and it replaces ThreadLocal with ScopedValues so context flows across virtual threads.

AI-written summary · about

  1. 0:00Virtual threads intro
  2. 2:10Normal threads inefficiency
  3. 5:00How virtual threads work
  4. 6:43Java 25 performance gains
  5. 7:48Real app with virtual threads
  6. 11:59Concurrency without reactive
  7. 16:38Structured task scopes
  8. 21:51Reusable joiner for concurrency
  9. 31:04Scoped values vs thread-local
  10. 39:52Summary and future
  11. 40:14Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.