Why did we end up with IOs?

  • performance & throughput
  • better thread utilisation
  • using asynchronicity
  • more broadly: concurrency

How did we end up with IOs?

  • thread-per-request
  • callbacks
  • Futures
  • IOs

What did Loom introduce in Java 21?

  • lightweight threads on the JVM
  • built-in asynchronous runtime
  • retrofitting blocking operations

Goal: simplify asynchronous programming