Java version history


The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901.

In addition to the language changes, other changes have been made to the Java Class Library over the years, which has grown from a few hundred classes in JDK 1.0 to over three thousand in J2SE 5. Entire new APIs, such as Swing and Java2D, have been introduced, and many of the original JDK 1.0 classes and methods have been deprecated. Some programs allow conversion of Java programs from one version of the Java platform to an older one (for example Java 5.0 backported to 1.4) (see Java backporting tools).

Regarding to Oracle Java distribution, version 11 is the currently supported long-term support (LTS) version (and Java 8 LTS to some degree). ("Oracle Customers will receive Oracle Premier Support"); Oracle released for the "legacy" Java 8 LTS the last free software "public update" in January 2019 for commercial use, while Oracle continues to release no-cost public updates for Java 8 for e.g. development[1] and personal use indefinitely.[2] Java 10 is the previously supported rapid release version. Java 10 support ended on the same date that support for Java 11 began, in September 2018. Java 7 is no longer publicly supported, and Java 9 has stopped receiving updates since Java 9 was a short-term rapid release version that has been superseded by Java 10 and now Java 11. For Java 11, long-term support will not be provided by Oracle for the public; instead, the broader OpenJDK community, as AdoptOpenJDK or others, is expected to perform the work.[3]

Java 15 General Availability occurred on September 15, 2020, with Java 16 now in Rampdown Phase Two (Initial Release Candidate expected February 4, 2021),[4] and with Java 17 now also in development.

Version Release
date
End of Free
Public Updates[1][5][6][7]
Extended
Support Until
Old version, no longer maintained: JDK Beta 1995 ? ?
Old version, no longer maintained: JDK 1.0 January 1996 ? ?
Old version, no longer maintained: JDK 1.1 February 1997 ? ?
Old version, no longer maintained: J2SE 1.2 December 1998 ? ?
Old version, no longer maintained: J2SE 1.3 May 2000 ? ?
Old version, no longer maintained: J2SE 1.4 February 2002 October 2008 February 2013
Old version, no longer maintained: J2SE 5.0 September 2004 November 2009 April 2015
Old version, no longer maintained: Java SE 6 December 2006 April 2013 December 2018
Old version, no longer maintained: Java SE 7 July 2011 April 2015 July 2022
Older version, yet still maintained: Java SE 8 (LTS) March 2014 January 2019 for Oracle (commercial)
December 2030 for Oracle (non-commercial)
December 2030 for Zulu
At least May 2026 for AdoptOpenJDK
At least May 2026 for Amazon Corretto
December 2030
Old version, no longer maintained: Java SE 9 September 2017 March 2018 for OpenJDK N/A
Old version, no longer maintained: Java SE 10 March 2018 September 2018 for OpenJDK N/A
Older version, yet still maintained: Java SE 11 (LTS) September 2018 September 2027 for Zulu
At least October 2024 for AdoptOpenJDK
At least September 2027 for Amazon Corretto
September 2026
Old version, no longer maintained: Java SE 12 March 2019 September 2019 for OpenJDK N/A
Old version, no longer maintained: Java SE 13 September 2019 March 2020 for OpenJDK N/A
Old version, no longer maintained: Java SE 14 March 2020 September 2020 for OpenJDK N/A
Current stable version: Java SE 15 September 2020 March 2021 for OpenJDK N/A
Future release: Java SE 16 March 2021 September 2021 for OpenJDK N/A
Future release: Java SE 17 (LTS) September 2021 September 2030 for Zulu TBA
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release
  1. ^ a b "Oracle Java SE Support Roadmap". www.oracle.com.
  2. ^ Cite error: The named reference Java8 was invoked but never defined (see the help page).
  3. ^ Reinhold, Mark (2018-08-17). "What does LTS mean for OpenJDK?". Retrieved 2018-08-28.
  4. ^ Cite error: The named reference JDK 16 was invoked but never defined (see the help page).
  5. ^ "Support | AdoptOpenJDK". adoptopenjdk.net.
  6. ^ "Amazon Corretto 8 & 11 support extended".
  7. ^ "Azul Java Support Roadmap".

Powered by 654 easy search