-
The beginning: core language + standard library foundations.
- Hello, World (applets era)
- Core libraries (java.lang/java.util)
- Early AWT
-
Platform era: J2SE/J2EE/J2ME branding and major library growth.
- Collections Framework (historic)
- Swing (historic)
-
Java 2 era (J2SE 1.3): incremental language + library evolution.
-
Java 2 era (J2SE 1.4): mature pre-Java-5 baseline; tooling/libraries evolve.
-
Big language leap: generics, annotations, enums, enhanced for-loop.
- Generics
- Annotations
- Enums
- Enhanced for-loop
- Autoboxing/unboxing
-
Stability + performance era; common enterprise baseline (Java SE 6).
-
Modern language + NIO improvements; sets stage for Java 8.
-
LTS release. Still widely used in 2026, with Oracle Extended Support through December 2030.
Release year: 2014
LTS: Yes
- LTS
- Lambda expressions
- Streams API
- java.time
-
Modularity: JPMS (modules) changes packaging and runtime composition.
- Modules (JPMS)
- jlink (runtime images)
-
Local-variable type inference (var) lands.
-
First formal LTS of the modern six-month cadence, establishing a long-term enterprise baseline.
Release year: 2018
LTS: Yes
- LTS baseline
- HTTP Client (standardized)
- Extended Support to January 2032
-
Short-cycle feature release that continued the modern six-month cadence after Java 11 LTS.
-
Short-cycle feature release that advanced preview language work and platform refinements in the modern cadence.
-
Modern syntax experiments mature (e.g., switch expressions).
- Switch expressions (standardized)
-
Short-cycle feature release that carried preview-era language work forward before Java 17 LTS.
-
Records (data carriers) become a first-class abstraction.
-
LTS release and major migration target, especially for Spring Boot 3+ and modern enterprise upgrades.
Release year: 2021
LTS: Yes
- LTS baseline
- Sealed classes
- Spring Boot 3+ migrations
-
Short-cycle feature release that continued post-Java-17 iteration across language, tooling, and runtime behavior.
-
Short-cycle feature release that moved forward the modern preview pipeline ahead of Java 21 LTS.
-
Short-cycle feature release that continued the rapid cadence just before the Java 21 LTS baseline.
-
Current mainstream LTS with stable virtual threads and a strong modern baseline for new production systems.
Release year: 2023
LTS: Yes
- LTS anchor
- Virtual threads (Project Loom)
- Modern production baseline
-
Short-cycle feature release that continued the post-Java-21 innovation line across language and runtime features.
-
Short-cycle feature release that carried the modern preview pipeline forward between Java 22 and Java 24.
-
Short-cycle feature release that extended the rapid cadence between Java 23 and Java 25 LTS.
-
Current LTS as of 2026 and the state-of-the-art long-term production version.
Release year: 2025
LTS: Yes
- LTS anchor
- September 2025 release
- Premier Support to September 2030
-
Feature release in the post-Java-25 era, representing the current short-cycle innovation line in 2026.
- Feature-release branch in the 2026 cadence
- Track finalized JEPs against the Java 25 LTS baseline
- Use this page as a current-year reference checkpoint
-
Planned LTS release if the current every-fourth-release cadence continues unchanged.
Release year: September 2027
LTS: Yes
- Planned LTS
- Expected Sep 2027
- Next long-term anchor
-
Projected LTS release based on the established every-fourth-release pattern.
Release year: September 2029
LTS: Yes
- Projected LTS
- Expected Sep 2029
- Cadence-based forecast
-
Projected LTS release in the next-decade horizon, assuming the present cadence remains in place.
Release year: September 2031
LTS: Yes
- Projected LTS
- Expected Sep 2031
- Long-range planning
-
Projected LTS release for the far end of the visible cadence window.
Release year: September 2033
LTS: Yes
- Projected LTS
- Expected Sep 2033
- Decade horizon
-
The visible future LTS line currently points to Java 29, 33, 37, and 41, while other feature releases continue filling the cadence between them.
- Java 29 planned LTS (Sep 2027)
- Java 33 projected LTS (Sep 2029)
- Java 37 projected LTS (Sep 2031)
- Java 41 projected LTS (Sep 2033)