Java Versions

Compatibility

  • Java has been around for 30 years = a lot of new versions have come out!
  • Does it matter what version? Yes!
  • Java’s promise of robustness means that most code you write in a really old version of Java will still run perfectly fine in a new version of Java.
  • In other words, code written and maintained 20 years ago won’t suddenly break or be useless in a modern environment.
  • This makes Java very attractive to large software corporations who wanna evolve without having new features break their code.

Releases

In the beginning…

  • New version every one or two years.
  • Was quite sporadic, lacked traction, making Java less attractive for developers who wanted modern features.
  • Between version 6 and 7 -> 5 years!

After Java 8…

  • New version every 6 months.
    • These “feature releases” you can consider to be the “beta testing” versions, only interesting to experiment with to sneak peek upcoming features.
  • New LTS (Long-term support) version every 3 years.
    • These have the best/longest support and highest adoption rate for that reason.
    • These versions receive bug fixes and vulnerability patches long after their release.
    • These are the most interesting ones for you to work with, especially at production.
  • Note: They struggled at first to stick to this plan, so it only truly got going with this release cadence since Java 11.
  • Newest LTS version ATOW is: Java 21 released in Sep. 2023.
  • More info on the Java version history.
VersionRelease dateEnd of Public Updates (Free)
JDK 1.023rd January 1996May 1996
JDK 1.118th February 1997October 2002
J2SE 1.24th December 1998November 2003
J2SE 1.38th May 2000March 2006
J2SE 1.413th February 2002October 2008
J2SE 5.030th September 2004October 2009
Java SE 611th December 2006April 2013
Java SE 728th July 2011July 2015
Java SE 8 (LTS)18th March 2014April 2019 for Oracle
July 2026 for Amazon Corretto[12]
November 2026 for Eclipse Temurin[13]
November 2026 for Red Hat[7]
December 2030 for Azul[10]
March 2031 for BellSoft Liberica[9]
Java SE 921st September 2017March 2018
Java SE 1020th March 2018September 2018
Java SE 11 (LTS)25th September 2018April 2019 for Oracle
October 2024 for Eclipse Temurin[13]
October 2024 for Red Hat[7]
March 2027 for BellSoft Liberica[9]
October 2027 for Amazon Corretto[12]
January 2032 for Azul[10]
Java SE 1219th March 2019September 2019
Java SE 1317th September 2019March 2020
Java SE 1417th March 2020September 2020
Java SE 1516th September 2020March 2021
Java SE 1616th March 2021September 2021
Java SE 17 (LTS)14th September 2021September 2024 for Oracle[15]
October 2027 for Eclipse Temurin[13]
October 2027 for Red Hat[7]
October 2028 for Amazon Corretto[12]
September 2029 for Azul[10]
March 2030 for BellSoft Liberica[9]
Java SE 1822nd March 2022September 2022
Java SE 1920th September 2022March 2023
Java SE 2021st March 2023September 2023
Java SE 21 (LTS)19th September 2023September 2026 for Oracle[15]
September 2029 for Eclipse Temurin[13]
September 2029 for Red Hat[7]
October 2030 for Amazon Corretto[12]
September 2031 for Azul[10]
March 2032 for BellSoft Liberica[9]
Java SE 2219th March 2024September 2024