Java Download — JDK & JRE for Every Version (1.0 to 25)


Direct Java download links for every version from Java 1.0 (1996) through Java 25 (2025). Oracle JDK, OpenJDK, Adoptium (Eclipse Temurin), Amazon Corretto, Azul Zulu. Skip the Oracle login wall — pick a free distribution below.
Java LTS Versions (Long-Term Support)
For production. Each LTS gets 8+ years of free security patches from OpenJDK distributions.
| Version | Released | Support Until | Adoptium (Temurin) | Oracle | Corretto | Zulu |
|---|---|---|---|---|---|---|
| Java 25 LTS | Sep 2025 | Sep 2033 | Temurin 25 ↗ | Oracle 25 ↗ | Corretto 25 ↗ | Zulu 25 ↗ |
| Java 21 LTS | Sep 2023 | Sep 2031 | Temurin 21 ↗ | Oracle 21 ↗ | Corretto 21 ↗ | Zulu 21 ↗ |
| Java 17 LTS | Sep 2021 | Sep 2029 | Temurin 17 ↗ | Oracle 17 ↗ | Corretto 17 ↗ | Zulu 17 ↗ |
| Java 11 LTS | Sep 2018 | Oct 2027 | Temurin 11 ↗ | Oracle 11 ↗ | Corretto 11 ↗ | Zulu 11 ↗ |
| Java 8 LTS | Mar 2014 | Dec 2030 (extended) | Temurin 8 ↗ | Oracle 8 ↗ | Corretto 8 ↗ | Zulu 8 ↗ |
Java Current (Non-LTS) Releases
| Version | Released | Support Until | Status | Download (Adoptium) |
|---|---|---|---|---|
| Java 24 | Mar 2025 | Sep 2025 | End of feature support | JDK 24 ↗ |
| Java 23 | Sep 2024 | Mar 2025 | EOL | JDK 23 ↗ |
| Java 22 | Mar 2024 | Sep 2024 | EOL | JDK 22 ↗ |
| Java 20 | Mar 2023 | Sep 2023 | EOL | JDK 20 ↗ |
| Java 19 | Sep 2022 | Mar 2023 | EOL | JDK 19 ↗ |
| Java 18 | Mar 2022 | Sep 2022 | EOL | JDK 18 ↗ |
| Java 16 | Mar 2021 | Sep 2021 | EOL | JDK 16 ↗ |
| Java 15 | Sep 2020 | Mar 2021 | EOL | JDK 15 ↗ |
| Java 14 | Mar 2020 | Sep 2020 | EOL | Oracle 14 ↗ |
| Java 13 | Sep 2019 | Mar 2020 | EOL | Oracle 13 ↗ |
| Java 12 | Mar 2019 | Sep 2019 | EOL | Oracle 12 ↗ |
| Java 10 | Mar 2018 | Sep 2018 | EOL | Oracle 10 ↗ |
| Java 9 | Sep 2017 | Mar 2018 | EOL | Oracle 9 ↗ |
Legacy Java Versions (1.0 → 7)
| Version | Released | EOL (Oracle) | Use Case | Download |
|---|---|---|---|---|
| Java 7 | Jul 2011 | Jul 2022 (extended) | Legacy enterprise apps | Oracle 7 ↗ |
| Java 6 | Dec 2006 | Dec 2018 | Old enterprise / Solaris | Oracle 6 ↗ |
| Java 5 (1.5) | Sep 2004 | Apr 2015 | Legacy app servers | Oracle 5 ↗ |
| Java 1.4 | Feb 2002 | Oct 2008 | NIO introduced | Oracle 1.4 ↗ |
| Java 1.3 | May 2000 | Nov 2006 | HotSpot VM era | Oracle 1.3 ↗ |
| Java 1.2 | Dec 1998 | Nov 2003 | Swing + Collections introduced | Oracle 1.2 ↗ |
| Java 1.1 | Feb 1997 | Oct 2002 | Inner classes, JDBC, RMI | Oracle 1.1 ↗ |
| Java 1.0 | Jan 1996 | n/a | Historical — first release | Oracle 1.0 ↗ |
Java JRE (Runtime Only)
jlink to build a custom runtime image for production. For Java 8 JRE, use Adoptium Temurin 8 JRE.
| JRE Version | Distribution | Platform | Download |
|---|---|---|---|
| JRE 8 (latest) | Adoptium Temurin | Win / Mac / Linux | Temurin 8 JRE ↗ |
| JRE 8 | Oracle (legacy) | Win / Mac / Linux | Oracle JRE 8 ↗ |
| JRE 11+ | Azul Zulu JRE | Win / Mac / Linux | Zulu JRE ↗ |
Also on this page
Oracle JDK vs OpenJDK — Quick Comparison
| Aspect | Oracle JDK | OpenJDK (Temurin / Corretto / Zulu) |
|---|---|---|
| License | Oracle NFTC (free for production since Sep 2021) | GPLv2 + Classpath exception |
| Account required | Yes for older versions (8, 11 archives) | No, ever |
| Source code | Same as OpenJDK + small commercial features | Open |
| Security patches | For latest LTS only (free) | 8+ years per LTS (free) |
| Commercial support | Oracle support contract | Adoptium volunteer / Amazon / Azul (paid) |
| Mission Control / Flight Recorder | Included | JFR yes, JMC separate |
Install + Verify
After downloading, install and set JAVA_HOME:
# Windows (PowerShell, admin)
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-21.0.5+11", "Machine")
[Environment]::SetEnvironmentVariable("Path", "$env:Path;%JAVA_HOME%\bin", "Machine")
# macOS / Linux (bash/zsh)
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
export PATH=$JAVA_HOME/bin:$PATH
# Verify
java -version
javac -version
Common Install / Runtime Errors
| Error | Cause | Fix |
|---|---|---|
'java' is not recognized as an internal command | JAVA_HOME or PATH not set | Set JAVA_HOME, add %JAVA_HOME%\bin to PATH, reopen shell |
UnsupportedClassVersionError: class file version 65.0 | Class compiled with newer JDK than runtime | Install matching JDK: 21 = class file version 65, 17 = 61, 11 = 55, 8 = 52 |
java.lang.OutOfMemoryError: Java heap space | Default heap too small | Increase: java -Xmx4g -Xms2g -jar app.jar |
Error: Could not find or load main class | Wrong classpath or wrong main class name | Run with java -cp . MyClass (no .class extension) |
java.security.cert.CertificateException | Old JDK with expired root CAs | Upgrade to latest LTS — root CAs are updated quarterly |
| JDK installer says "blocked by group policy" | Enterprise software restriction | Use portable Temurin .zip instead of .msi, extract anywhere |
FAQ
Is Java free to use in production?
Yes. OpenJDK distributions (Temurin, Corretto, Zulu) have always been free. Oracle JDK became free again under the NFTC license in September 2021 for current LTS releases. Avoid Oracle JDK between Java 11 and 17 unless you bought a support contract.
Which Java should I install — JDK or JRE?
Install JDK if you're developing, compiling, or running build tools (Maven, Gradle, Ant). Install JRE if you only need to run a pre-built .jar. For Java 9+, JDK is the only option — use jlink to strip it down for production deployment.
Why does the Oracle JDK download page ask for a login?
Oracle requires an Oracle account for all archived JDK downloads (anything not in active feature support). Free OpenJDK distributions (Temurin, Corretto, Zulu) never ask. Pick those unless you specifically need Oracle's binaries.
Adoptium vs Corretto vs Zulu — which is best?
All three are identical OpenJDK builds with minor patches. Temurin is the most widely used (Eclipse Foundation, vendor-neutral). Corretto is best on AWS (Amazon's optimization). Zulu has the longest free support windows. For most cases — pick Temurin.
Can I have multiple Java versions installed at once?
Yes. Each JDK installs to its own directory. Switch active version by changing JAVA_HOME. On macOS use /usr/libexec/java_home -V to list, then export JAVA_HOME=$(/usr/libexec/java_home -v 17). On Windows, use mise or jenv for easy version switching.
Where does Java store its install path?
Windows: C:\Program Files\Java\jdk-21 or C:\Program Files\Eclipse Adoptium\jdk-21.0.5+11. macOS: /Library/Java/JavaVirtualMachines/. Linux (Temurin): /usr/lib/jvm/temurin-21-jdk-amd64.
Is Java still relevant in 2026?
Yes — Java 21 + Spring Boot 3 is the dominant enterprise stack. Java added virtual threads (Project Loom), pattern matching, sealed classes, and records since Java 17. Modern Java is competitive with Go and Kotlin for backend services.
Need help with Java enterprise deployment, JVM tuning, or migration from Oracle JDK to OpenJDK? Contact Medha Cloud.
Our Microsoft-certified team delivers seamless migrations with zero downtime.
Managed Migration to Microsoft 365Topics

Sreenivasa Reddy G
Founder & CEO • 15+ years
Sreenivasa Reddy is the Founder and CEO of Medha Cloud, recognized as "Startup of the Year 2024" by The CEO Magazine. With over 15 years of experience in cloud infrastructure and IT services, he leads the company's vision to deliver enterprise-grade cloud solutions to businesses worldwide.
More in Managed IT Services
View all
How to Factory Reset — iPhone, Windows 10/11 & Mac (2026)
10 min read

How to Clear Cache — Chrome, Edge, Firefox, Safari & Windows (2026)
8 min read

How to Screen Record on Windows & Mac — Free, No Software Needed (2026)
9 min read

How to Find Your IP Address — Windows, Mac, iPhone & Android (2026)
7 min read

How to Screenshot on Windows, Mac & Chromebook — Every Method (2026)
8 min read

48 SMB IT Spending Statistics for 2026 — Budget & Priorities
18 min read