Java Valhalla lands after a decade: value types finally ship
Project Valhalla, Java's decade-long effort to add value types to the JVM, is arriving in JDK 28. The HN thread ran twice in one day, a sign of genuine interest. Developers who followed the mailing lists described the project as an unusually transparent and intellectually honest engineering effort, navigating real tradeoffs in a language with billions of lines of deployed code.
The key insight from the discussion: value types matter because they let the JVM avoid heap allocation and pointer indirection for small, immutable data. This is not a cosmetic change, it is the kind of thing that makes Java competitive with Rust and C++ for performance-critical paths that currently require painful workarounds.
The counterpoint: some commenters argued that the final design is more complex than it needed to be, and that simpler models were rejected for reasons that felt more political than technical. That tension, between what shipped and what could have shipped, dominated the debate.
So what?
If you run Java services at any scale, Valhalla is worth studying now before JDK 28 ships. The performance gains for numeric-heavy or data-intensive code could be significant enough to defer infrastructure scaling decisions. Start reading the JEPs today.