Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why Oracle JDK 9 download ends so early? [closed]

I wanted to install JDK 9 on my machine, visited JDK official download page, and was surprised to see,

Java SE 9 has reached end of support. Users of Java SE 9 should switch to Java SE 10. Please visit our Java SE Downloads page to get the current version of Java SE. You will be redirected to the Java SE Downloads page in ... seconds. Please update your bookmarks to the Java SE Downloads page.

I did some googling and Java release history etc. But couldn't find any concrete reason.

I have couple of questions-

  1. Oracle is still supporting the JDK 1.8, but stopped releasing updates to JDK 9, why?
  2. Should I continue using JDK 1.8 for some time and then directly switch to JDK 10?
like image 865
Red Boy Avatar asked May 14 '18 14:05

Red Boy


People also ask

Why is JDK not installing?

If it is not, please try to install x86 (32 bit) JDK. If it is x64 (64 bit) then, try to run with "Run as administrator" option by right clicking it. If it is not working either way, then please check the system log from Control Panel -> Administrative Tools -> Event Viewer and see what is going around on installation.

Is Oracle JDK still free?

Oracle JDK 8 and Oracle JDK 11 are free for Personal, Development and other uses. Oracle JDK 17 and later release are available under a Oracle No-Fee Terms and Conditions License for all users.

Is Oracle Java going away?

public updates for Oracle Java SE 8 will remain available for individual and personal use until the end of 2020. public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial, or production use without a commercial license.


1 Answers

In the past, Java major releases often tended to be loaded with far-reaching features that had a massive impact on the code that you could and should write, like generics (Java 5) and functional constructs (Java 8).

With Java 9 Oracle introduced a new modularization system (project Jigsaw), that also has a massive impact on the JVM architecture (although, not so much on the language syntax). They had to postpone the release of Java 9 two times because of disagreements on the implementation of that feature with other influential members of the Java community.

Presumably drawing a lesson from this, Oracle decided to overhaul the development style for Java to be more incremental or "agile", if you like. Instead of having feature loaded major releases that can sometimes take many years to finish, they want to publish major releases with less new features each in a fixed release schedule every six months.

Java 9 and Java 10 are the first two versions scheduled with this new release model and Java 9 already got deprecated with the release of Java 10. Java 11, which was released in September 2018 is a Long Term Support (LTS) release with support until 2026. This is very similar to what many are used to from the Ubuntu release model (On a side note, they even planned to replace the version numbers with something involving the year and month of release or so, similar to what Canonical is doing with Ubuntu, but dropped that idea for some reason).

Using a non-LTS version of Java now implies a commitment to update your software that uses the JDK every 6 month. It shouldn't be as involved as migrating code from one major Java version to another in the past because, as described, the language changes are supposed to happen in a more incremental way, but it's definitely something to consider. If you don't want to make this commitment, you should stick to the LTS versions, which means to stick with Java 8 or Java 11.

For a new "greenfield" project, Java 11 is most probably the best choice by now. But it might be necessary to stick with Java 8 if the toolchain to be used does not fully support Java 11 yet.

Apparently in the future Oracle wants to release a LTS version every three years or every 6th release, so the next LTS release to be expected after Java 11 is Java 17 in September 2021.

like image 63
anothernode Avatar answered Oct 18 '22 15:10

anothernode