The OpenJDK team has released Java 26. This release gives us some really interesting improvements for the JVM:
- Ahead-of-time caching for any garbage collector
- HTTP/3 support in
HttpClient- support for QUIC/HTTP3 is part of the JVM - final means final - mutating final fields now emits warnings, a lead-in to future enhancements that will help runtime optimization of
finalfields - Applet API is finally removed - nobody should be even trying to use Applets any more
There are more aspects to the release: structured concurrency, the vector API, lazy constants, and other changes are part of the release, but they're under development, as Java 26 is a short-term release with a six-month support period.
This is a gradual improvement - a notable one, particularly because it has some guarantees that will show up in the next LTS release, but still, it's a short-term cycle release.
- If you're on the bleeding edge: here's your chance! There are tires to kick, get to kicking them!
- If you're on Java 25: stay unless you really want HTTP/3 or want to experiment.
- If you're on any other non-LTS release (24, 23, 22, 20...): consider upgrading. You're already on releases that aren't supported; what are you waiting for?
- If you're on an LTS prior to 25: Java 25 could be worth it for FFM alone. Java 26, not being LTS, probably shouldn't be targeted for upgrades.
Downloading is via the OpenJDK site and should be available via SDKMan and other toolsets soon.