{"id":"019d1b8b-7d70-754e-ae78-ce3b5dfc695b","title":"Java 26 released: HTTP/3, GC improvements, final finally means final","slug":"2026/03/java-26-released-http-3-gc-improvements-final-finally-means-final","renderedHtml":"<p>The OpenJDK team has released <a href=\"https://jdk.java.net/26/\">Java 26</a>. This release gives us some really interesting improvements for the JVM:</p>\n<ul>\n<li><a href=\"https://openjdk.org/jeps/516\" title=\"Ahead-of-Time Object Caching with Any GC\">Ahead-of-time caching</a> for <em>any</em> garbage collector</li>\n<li><a href=\"https://openjdk.org/jeps/517\" title=\"HTTP/3 for the HTTP Client API\">HTTP/3 support in <code>HttpClient</code></a> - support for QUIC/HTTP3 is part of the JVM</li>\n<li><a href=\"https://openjdk.org/jeps/500\" title=\"Prepare to Make Final Mean Final\">final means final</a> - mutating final fields now emits warnings, a lead-in to future enhancements that will help runtime optimization of <code>final</code> fields</li>\n<li><a href=\"https://openjdk.org/jeps/504\" title=\"Remove the Applet API\">Applet API is finally removed</a> - nobody should be even <em>trying</em> to use Applets any more</li>\n</ul>\n<p>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.</p>\n<p>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.</p>\n<ul>\n<li>If you're on the bleeding edge: here's your chance! There are tires to kick, get to kicking them!</li>\n<li>If you're on Java 25: stay unless you really want HTTP/3 or want to experiment.</li>\n<li>If you're on any <em>other</em> non-LTS release (24, 23, 22, 20...): consider upgrading. You're already on releases that aren't supported; what are you waiting for?</li>\n<li>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.</li>\n</ul>\n<p>Downloading is via the <a href=\"https://jdk.java.net/26/\">OpenJDK site</a> and should be available via SDKMan and other toolsets soon.</p>","excerpt":"The OpenJDK team has released Java 26 - a non-LTS release, but one that supports some important language and API updates, along with some potentially useful ahead-of-time updates for garbage collection and runtime caching. Language updates include progress towards making final mean final - at last - and adding HTTP3 and QUIC support.","authorId":"019c5c8a-609d-7cd4-975b-50bbcc412a33","authorDisplayName":"dreamreal","status":"APPROVED","publishedAt":"2026-03-23T16:33:45.434Z","sortOrder":0,"createdAt":"2026-03-23T16:33:39.695517Z","updatedAt":"2026-03-23T16:35:36.602446Z","commentCount":0,"tags":["26","java","jvm"],"categories":[],"markdownSource":null}