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 Oracle Java SE Support Roadmap, version 11 is the currently supported long-term support (LTS) version, together with Java 8 LTS, where Oracle Customers will receive Oracle Premier Support. Java 8 LTS last free software public update for commercial use was released by Oracle in January 2019, while Oracle continues to release no-cost public Java 8 updates for development and personal use indefinitely. Java 10 a previously supported rapid release version, had its support ended in September 2018 the same date support for Java 11 began. Java 7 is no longer publicly supported. 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.
|End of Free
|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|
December 2026, paid support for Azul Platform Core
|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 Azul
At least May 2026 for AdoptOpenJDK
At least May 2026 for Amazon Corretto
|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 2026 for Azul
At least October 2024 for AdoptOpenJDK
At least September 2027 for Amazon Corretto
or September 2028 for Azul
|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|
|Old version, no longer maintained: Java SE 15||September 2020||March 2021 for OpenJDK, March 2023 for Azul||N/A|
|Current stable version: Java SE 16||March 2021||September 2021 for OpenJDK||N/A|
|Future release: Java SE 17 (LTS)||September 2021||September 2030 for Zulu||TBA|
|Future release: Java SE 18||March 2022||September 2022 for OpenJDK||N/A|
Java8was invoked but never defined (see the help page).