Java Lifecycle: End Of Life And Support Status

Last updated on November 17, 2023

Java is an object-oriented programming language primarily used for creating web applications. It is a multi-platform language with minimal implementation dependencies. First released in 1995 and owned by Oracle, Java has come a long way and is now running on more than 3 billion devices, including desktops, laptops, and mobile phones.

Like every good thing, the different Java versions released over the years must come to an end, referred to as the End of Life. This is when the particular Java version will stop receiving minor updates to include new features, patch fixes, and security updates.

Support status guide

End of life (EOL) is the end of a product’s useful life. When a product reaches the end of its life cycle, the manufacturer no longer supports it. The following table explains the different phases of a product’s lifecycle. Testing status is when the product is initially released and EOL is when product support is no longer offered. The time between these two points is the support timeframe.

Testing

The software is not yet publicly available. It is in testing phase i.e., alpha, beta, release preview etc.

Active

The software is actively supported by the vendor.

Phasing Out

The software will soon reach its end of life. You need to look for upgrade or migration options. The software will automatically go into phasing out status 2 months before end of life.

End Of Life

The software is no longer supported by the vendor. You need to make sure your system and environment are safe.

Version

Released

Active Support

Extended Support

Java 22
1 week and 6 days ago
(19 March 2024)
Ends in 5 months and 2 weeks
(19 September 2024)
Ends in 5 months and 2 weeks
(19 September 2024)
Java 21
6 months and 1 week ago
(19 September 2023)
Ends in 4 years and 5 months
(30 September 2028)
Ends in 7 years and 5 months
(30 September 2031)
Java 20
1 year and 1 week ago
(21 March 2023)
Ended 6 months and 1 week ago
(19 September 2023)
Ended 6 months and 1 week ago
(19 September 2023)
Java 19
1 year and 6 months ago
(20 September 2022)
Ended 1 year and 1 week ago
(21 March 2023)
Ended 1 year and 1 week ago
(21 March 2023)
Java 17
2 years and 6 months ago
(14 September 2021)
Ends in 2 years and 5 months
(30 September 2026)
Ends in 5 years and 5 months
(30 September 2029)
Java 16
3 years and 2 weeks ago
(16 March 2021)
Ended 2 years and 6 months ago
(14 September 2021)
Ended 2 years and 6 months ago
(14 September 2021)
Java 15
3 years and 6 months ago
(15 September 2020)
Ended 3 years and 1 week ago
(20 March 2021)
Ended 3 years and 1 week ago
(20 March 2021)
Java 14
4 years and 2 weeks ago
(17 March 2020)
Ended 3 years and 6 months ago
(16 September 2020)
Ended 3 years and 6 months ago
(16 September 2020)
Java 13
4 years and 6 months ago
(17 September 2019)
Ended 4 years and 2 weeks ago
(17 March 2020)
Ended 4 years and 2 weeks ago
(17 March 2020)
Java 12
5 years and 1 week ago
(19 March 2019)
Ended 4 years and 6 months ago
(17 September 2019)
Ended 4 years and 6 months ago
(17 September 2019)
Java 11
5 years and 6 months ago
(25 September 2018)
Ended 6 months and 1 day ago
(30 September 2023)
Ends in 2 years and 5 months
(30 September 2026)
Java 10
6 years and 1 week ago
(20 March 2018)
Ended 5 years and 6 months ago
(20 September 2018)
Ended 5 years and 6 months ago
(20 September 2018)
Java 9
6 years and 6 months ago
(19 September 2017)
Ended 6 years and 1 week ago
(20 March 2018)
Ended 6 years and 1 week ago
(20 March 2018)
Java 8
10 years and 2 weeks ago
(18 March 2014)
Ended 2 years and 1 day ago
(31 March 2022)
Ends in 6 years and 8 months
(31 December 2030)
Java 7
12 years and 8 months ago
(11 July 2011)
Ended 4 years and 8 months ago
(31 July 2019)
Ended 1 year and 8 months ago
(31 July 2022)

Initially, when Java was first launched, its major and minor updates had no schedule. However, since the release of Java 8, Oracle releases a major update every 6 months – one in the month of March, and the other in September.

Additionally, Oracle also releases the Long Term Servicing (LTS) version for Java. These are for specific Java versions only. The first LTS version was Java 8, after which Java 11 LTS was released after 4 years. However, after the release of Java 11 LTS, Oracle decided to release the next LTS version after every six releases (3 years). Therefore, the next LTS version was Java 17. However, Oracle again changed its decision and decided to release the next LTS version after 4 releases instead of 6 (2 years).

The latest Java version at the moment is Java 20, which means that the next release, Java 21, will be the LTS version.

Understanding the concept of end of life for Java

Oracle offers two sorts of End of Life dates for the various Java versions , which are:

  • Active support
  • Extended support

According to the latest support cycle by Oracle, the Active support and the Extended support for the regular Java versions are the same, which is normally only 6 months. However, in the case of LTS versions, the Active support is for 5 years from the release date, and the Extended support is for another 3 years.

That said, Java 8 LTS is still adhering to the older support cycle, which was 8 years of Active support, and an additional 8 years of Extended support. This is why Java 8 is still receiving security updates and will continue to be supported till 2030.

This leads us to believe that unless you are using the LTS version of Java, your Java version will reach End of Life as soon as the next major version is available.