Software

Java 27 is not LTS: should you leave Java 25?

By · Tue Sep 29 2026 · 6 min read · 0 views

View as a Web Story

Software#lts#java 27#java 25#jdk#oracle jdk

Java 27 short-term release compared with Java 25 LTS support dates

Java 27 shipped on September 15, 2026, and it is not a long-term-support release. Oracle says it will provide updates to JDK 27 until March 2027, when Oracle JDK 28 supersedes it. The next long-term-support release is Java 29 in September 2027.

For most teams the answer is to stay on Java 25. There are two exceptions, and one of them has an October deadline that has nothing to do with Java 27.

What is Java 27, and how long does it get updates?

Java 27 is the September 2026 feature release of Java, and it is a short-term-support release. It follows the six-month cadence, so it receives about six months of updates. Oracle's Java SE support roadmap, updated September 15, 2026, lists the dates.

Release Type Oracle Premier Support until Extended Support until
Java 17 LTS September 2026 September 2029
Java 21 LTS September 2028 September 2031
Java 25 LTS September 2030 September 2033
Java 27 Short-term March 2027 Not available
Java 29 LTS (planned) September 2032 September 2035

Methodology: we analyzed Oracle's roadmap table as updated on September 15, 2026 and the JEP pages for each Java 27 feature. Fact-check: every date in the table is quoted from the roadmap.

Java 27 has about six months of coverage. Java 25 has about 48 months of Premier Support left, from September 2026 to September 2030.

What is new in Java 27?

Java 27 delivers nine features. A JEP is short for JDK Enhancement Proposal, the OpenJDK document that specifies one feature, and each Java 27 feature has its own. The Inside.java announcement for JDK 27 lists them. Four are final and five are still preview or incubator features.

JEP Feature Status in Java 27
527 Post-quantum hybrid key exchange for TLS 1.3 Final
523 G1 as the default garbage collector everywhere Final
534 Compact object headers by default Final
536 JFR in-process data redaction Final
538 PEM encodings of cryptographic objects Third preview
532 Primitive types in patterns, instanceof and switch Fifth preview
531 Lazy constants Third preview
533 Structured concurrency Seventh preview
537 Vector API 12th incubator

Five preview and incubator features are not production features. Code that uses them needs --enable-preview and can change again before it is final.

Which Java 27 changes can affect an app running on Java 25?

Three final features change defaults, so they can alter behaviour with no code change. Each has a switch to keep the old behaviour.

G1 as the default collector. JEP 523 makes the G1 garbage collector the default in all environments. The JVM previously chose the Serial collector on machines with one CPU or less than 1792 MB of memory, so small containers change collector. Keep the old choice with -XX:+UseSerialGC.

Compact object headers. JEP 534 makes the smaller object header layout the default. It cuts each header from 96 bits to 64 bits on 64-bit systems. Turn it off with -XX:-UseCompactObjectHeaders.

Advertisement

Post-quantum TLS. JEP 527 adds hybrid key exchange to TLS 1.3, and applications using javax.net.ssl get it without code changes. The jdk.tls.namedGroups system property controls which key exchange groups the JVM offers.

Test all three in staging, and include TLS connections to older servers and proxies.

Can I get Java 27's best feature on Java 25 today?

Yes. Compact object headers are a smaller object header layout in the HotSpot JVM, and they became a product feature in JDK 25 through JEP 519. You can enable them on Java 25 with one flag.

java -XX:+UseCompactObjectHeaders -jar app.jar

The SPECjbb2015 benchmark used 22% less heap space and 8% less CPU time, garbage collections fell by 15%, and a parallel JSON parser ran in 10% less time, according to the tests in the JEP 534 text. The same JEP says Amazon runs hundreds of services in production with the feature, mostly through backports to JDK 21 and JDK 17. Benchmarks are not your workload, so measure your own service before you enable it everywhere.

This is the practical point. The change that makes Java 27 attractive for memory-heavy services is a flag on the release you already run.

Should you leave Java 25 for Java 27?

No, for most teams. Stay on Java 25 and run Java 27 in continuous integration as a rehearsal for Java 29.

Moving to Java 27 buys a handful of final features, and one of them you can already switch on. It costs another upgrade in six months, because Oracle supersedes JDK 27 with JDK 28 in March 2027.

Move earlier only for a specific reason:

  • Post-quantum TLS by default. If security policy requires hybrid key exchange now, Java 27 provides it without code changes.
  • Preview features. If you want to try structured concurrency or lazy constants, use them on a branch, not in production.
  • A team that already upgrades every six months. For example, a company with a strong CI pipeline and no long support requirement can track each release.

What should teams on Java 21 and Java 17 do?

Move to Java 25, and for Java 21 do it soon. Oracle's roadmap says update releases of Oracle JDK 21 released beginning with the October 2026 Critical Patch Update are planned to be offered under the Java SE OTN license, which is free for personal and development use only.

Oracle JDK 25 stays under a free-use license for all users. The roadmap says updates of Oracle JDK 25 released after September 2028 are planned to move to the OTN license.

Java 17 already made that switch. The roadmap says Oracle JDK 17 updates released on or after October 15, 2024 are under the OTN license, and its Premier Support ends in September 2026. These points apply to Oracle JDK. Check your vendor's terms if you use another OpenJDK build.

Teams that also run .NET hit a similar cliff, covered in .NET 8 and .NET 9 both end support on one day.

Advertisement

FAQ

Is Java 27 an LTS release?

No. Java 27 is a short-term-support release, and Oracle says it provides updates until March 2027. Oracle's roadmap lists Java 8, 11, 17, 21 and 25 as LTS releases, and Java 29 as the next planned LTS in September 2027.

Should I upgrade from Java 25 to Java 27?

Most teams should not. Java 25 has Oracle Premier Support until September 2030, while Java 27 has updates until March 2027. Test Java 27 in CI, and plan your next production move for Java 29.

Which features does Java 27 add?

Java 27 has nine JEPs. Four are final: post-quantum hybrid TLS 1.3 key exchange, G1 as the universal default collector, compact object headers by default, and JFR in-process data redaction. The other five are preview or incubator features.

Can I use compact object headers on Java 25?

Yes. Start the JVM with `-XX:+UseCompactObjectHeaders`. JEP 519 made compact object headers a product feature in JDK 25, and Java 27 turns them on by default. Measure your own workload before enabling them in production.

Comments

Loading…

Sign in to join the conversation.

Related posts

Kubernetes 1.34 end-of-life timeline across EKS, AKS and GKE

Kubernetes 1.34 reaches end of life on October 27

Kubernetes 1.34 reaches end of life on October 27, 2026, according to the Kubernetes patch release schedule. That is 28 days away. After that date the Kubernetes project ships no more 1.34 patches.

Tue Sep 29 2026 · 6 min read · 0 views

Software