Which Java should I use?
To build and run Java apps, install a JDK (Java Development Kit). Here’s which one to choose.
Install Eclipse Temurin JDK 25.
A free OpenJDK distribution with long-term updates. Use it for new projects.
Download Temurin JDK 25 Windows, macOS & LinuxAlready on Java 21? Keep it patched and upgrade when your stack is ready. Compare versions ↓
Java versions
Reviewed October 24, 2026Prefer an LTS release unless you’re ready to upgrade every six months.
| Version | Release | Available since | When to use it |
|---|---|---|---|
| Java 25 | LTS | Sep 2025 | Start here for new projects |
| Java 21 | LTS | Sep 2023 | A solid choice for existing applications |
| Java 17 | LTS | Sep 2021 | Keep updated; plan your next upgrade |
| Java 11 | LTS | Sep 2018 | For applications with older dependencies |
| Java 8 | LTS | Mar 2014 | For legacy applications; plan a migration |
| Java 27 | Feature | Sep 2026 | Latest features; upgrade to 28 in March 2027 |
LTS = Long-Term Support. Support duration and update availability depend on your JDK vendor.
What changed in each release? Java version history, from JDK 1.0 to Java 27 →
Latest Java news
As of October 24, 2026- October 2026
Security: October updates and an urgent certificate fix ↗
The October 20 updates fixed security issues in all supported Java versions. A day later, Oracle and OpenJDK issued an out-of-band alert (CVE-2026-91403, CVSS 9.1): Java still trusted compromised eMudhra intermediate certificates, including in the October 20 builds. Install your JDK vendor’s next update that includes the fix.
- October 2026
Oracle JDK 21 updates move to the OTN license ↗
Oracle JDK 21.0.13, released with the October 20, 2026 Critical Patch Update, is the first JDK 21 update under OTN terms instead of the free NFTC license. For a free Oracle build, move to JDK 25. OpenJDK builds such as Temurin 21 are not affected.
- October 2026
Eclipse Temurin 27 is available ↗
Adoptium released Temurin 27 on October 1. There are no macOS x64 (Intel) builds of Temurin 27.
- October 2026
JDK 28 takes shape: value objects in preview ↗
JDK 28, due in March 2027, targets Project Valhalla’s value objects (preview), a simple JSON API (incubator), final structured concurrency and PEM encodings, and faster startup and adaptive heap sizing for ZGC. The JEP list may still change.
- September 2026
Java 27 released ↗
A feature release with nine JEPs: G1 is now the default GC everywhere, compact object headers are on by default, and TLS 1.3 gains post-quantum hybrid key exchange. It gets updates until Java 28 ships in March 2027.
- September 2026
Java 26 updates end; Oracle Premier Support for Java 17 ends ↗
Java 26 was superseded by Java 27. Oracle moved Java 17 from Premier to Extended Support, which runs until September 2029. Plan your move to Java 21 or 25.
JDK distributions
Distributions package OpenJDK into installable builds. Start with Temurin unless you need a specific platform or support plan.
Eclipse TemurinRecommended
OpenJDK builds from Eclipse Adoptium. Use this for new projects unless you need a specific vendor or support plan.
Open source · HotSpot
Amazon Corretto
Amazon’s free OpenJDK builds with long-term updates. A good choice for AWS applications; works outside AWS too.
Free builds · HotSpot
Azul Zulu
OpenJDK builds for a wide range of operating systems and architectures, with optional paid support.
Open source · HotSpot · Paid support available
BellSoft Liberica
OpenJDK builds with standard, full, and lightweight packages. Check which package fits your application.
Open source · HotSpot
Microsoft Build of OpenJDK
Microsoft’s free OpenJDK builds. A good fit if you already use Azure or Microsoft’s Java tools. Also works outside Azure.
Open source · HotSpot
Oracle JDKCheck licensing
Oracle’s JDK with commercial support options. Licensing depends on the version and update: Oracle JDK 25 uses NFTC; Oracle JDK 21 updates from 21.0.13 (October 20, 2026) use OTN terms. Check the terms for your exact build and use.
HotSpot · License varies by version
GraalVM
Choose GraalVM if you need Native Image or want to evaluate its compiler. Test with your own application: native builds need extra configuration and compatibility checks.
Native Image · Optimizing compiler
IBM Semeru
OpenJDK with the Eclipse OpenJ9 virtual machine. Choose it if you specifically need OpenJ9, and test your application on it.
OpenJ9 · Open & Certified editions
SapMachine
SAP’s OpenJDK distribution. If you use SAP applications, check their supported Java versions before choosing a build.
Open source · HotSpot
Paid support is separate from the JDK download. Check the vendor’s support policy if you need it.
Common questions
Java is the language and platform. A JDK (Java Development Kit) contains the compiler, runtime, and tools used to build and run Java applications. OpenJDK is the open-source project behind many JDK distributions. Temurin, Corretto, and Zulu package that foundation into installable builds.
Several OpenJDK distributions, including Temurin and Corretto, provide no-cost builds for commercial use under their applicable open-source terms. Oracle JDK has version- and update-specific terms. Always check the license shipped with the exact distribution and update you deploy.
Use Temurin 25 for new projects if your framework and build tools support it. Otherwise, use Java 21. If your application already runs on Java 21, keep it updated and test before upgrading.
Choose a feature release if you can upgrade every six months. Otherwise, use an LTS release and keep installing its security updates. How long you receive updates depends on your JDK vendor.
Often, yes, when using compatible Java SE implementations of the same version. Still test your application: certificates, packaging, JVM options, garbage collectors, and vendor-specific behavior can differ. Keep the JDK version and distribution aligned across development, CI, and production.
For development, install a JDK; it already includes a runtime. For deploying an application, use the runtime or container image supported by that application. Some vendors offer separate JRE packages, and modular applications can use a custom runtime image built with jlink.
Sources
Last reviewed October 24, 2026. Each distribution links to its official documentation.