Foojay Podcast #28: Java 21 Has Arrived!

Every six months a new Java version lands, but the long-term support releases set the rhythm for production teams. Java 21 is one of those releases, and it ships a stack of features that change how we write everyday code. To unpack what matters and why, we sat down with Mohamed Taman, Piotr Przybyl, and Simon Ritter for Foojay Podcast #28.

What we talked about

  • The long-term support status of Java 21 and the six-month release cycle
  • JEP 444: Virtual Threads
  • JEP 430: String Templates
  • JEP 440 and JEP 441: Record Patterns and Pattern Matching for switch
  • JEP 442: Foreign Function and Memory API (Third Preview)
  • JEP 445: Unnamed Classes and Instance Main Methods (Preview)
  • JEP 443: Unnamed Patterns and Variables (Preview)
  • JEP 439: Generational ZGC
  • JEP 451: Prepare to Disallow Dynamic Loading of Agents
  • The energy efficiency of Java and how other languages influence its evolution

What stood out

Java 21 packs a wide mix of features for everyday developers and for runtime tuning. Virtual threads change how we handle concurrency, while pattern matching and record patterns make data-shaped code shorter and clearer. The guests also reminded us that small JEPs, like the agent-loading change, matter for long-term platform safety.

See the Foojay Podcast #28 for all info, shownotes, links, etc.