Java editions & releases
Java SE, the 6-month release cadence, LTS versions (8, 11, 17, 21, 25) and preview features.
Java SE and friends
Java SE (Standard Edition) is the core language plus its core libraries, which is what this game teaches. Jakarta EE (formerly Java EE) adds enterprise APIs on top, for things like web servers and messaging.
A new release every six months
Since Java 10 (March 2018), a new feature release ships every six months, in March and September. Features arrive in small, predictable steps instead of giant releases years apart.
LTS: the long-haul versions
Some releases are Long-Term Support (LTS): vendors support them for years. The LTS versions are 8, 11, 17, 21 and 25, now one every two years. Other releases are only supported until the next one arrives six months later.
Your call
It's 2026 and your company only uses LTS versions. Which Java should a new project target?
Think about it, then reveal the answer
Java 25 (September 2025), the newest LTS. Java 26 is a non-LTS release that is superseded after six months.
Preview features
A preview feature is complete but not final: it may still change or even be removed. Previews are off by default. To try one, opt in with --enable-preview when compiling and when running, together with --release 25 (or --source 25).
$ javac --enable-preview --release 25 \
Main.java
$ java --enable-preview MainDon't ship previews
Building production code on a preview feature is risky: the next release may change its syntax, and your code stops compiling. Previews are for experimenting and giving feedback to the Java team.
In real projects
Most companies run LTS versions in production and upgrade from one LTS to the next. Knowing which feature arrived when (records in Java 16, virtual threads in Java 21) comes up constantly in interviews and upgrade planning.
Key takeaways
- Java SE = language + core APIs; Jakarta EE adds enterprise APIs
- Feature release every 6 months (March and September)
- LTS versions: 8, 11, 17, 21, 25 (now one every two years)
- Preview features need --enable-preview
Java 9 changed how versions are numbered. Java 8 still reported itself as "1.8.0" internally; from Java 9 on, the version is simply 9, 10, 11 and so on.
Practice questions
Which of these is a Long-Term Support (LTS) release?
- Java 22
- Java 21
- Java 23
- Java 24
Check your answer
Java 21. LTS releases are 8, 11, 17, 21 and 25. The releases in between are supported only until the next feature release.
Your company only adopts versions with long-term support. In 2026, which version should a new project target?
- Java 26
- Java 24
- Java 25
- Java 23
Check your answer
Java 25. Java 25 (September 2025) is the newest LTS. Java 26 is a non-LTS feature release that's superseded six months later.