Showing posts with label Java 11. Show all posts
Showing posts with label Java 11. Show all posts

Monday, November 26, 2018

Should we migrate projects from Java 8 to Java 9 or 10

If you're on Java 8, you might be thinking should we migrate the projects from Java 8 to Java 9 or 10?

Big NO!!

It doesn’t worth the effort. It’s better if you migrate your projects directly to Java 11 which is an LTS version.

Java 9 and Java 10 are non-LTS versions.

“For product releases after Java SE 8, Oracle will designate a release, every three years, as a Long-Term-Support (LTS) release. Java SE 11 (18.9 LTS) is an LTS release. For the purposes of Oracle Premier Support, non‑LTS releases are considered a cumulative set of implementation enhancements of the most recent LTS release. Once a new feature release is made available, any previous non‑LTS release will be considered superseded. For example, Java SE 9 was a non‑LTS release and immediately superseded by Java SE 10 (also non‑LTS), Java SE 10 in turn is immediately superseded by Java SE 11. Java SE 11 however is an LTS release, and therefore Oracle Customers will receive Oracle Premier Support and periodic update releases, even after Java SE 12 is released.”

For long-term support, Oracle is recommending remaining on Java 8 or move to Java 11.  Refer to the following:


Java 8 Release support:
Premier support: March 2022
Extended support: March 2025

Java 9:
Premier support: March 2018
Extended support: Not available

Java 10:
Premier support: Sept 2018
Extended support: Not available

Java 11:
Premier support: Sept 2023
Extended support: Sept 2026

Monday, November 19, 2018

Which one to use OpenJDK or OracleJDK?

With Java 11 release, there is no difference between OpenJDK and OracleJDK. All the features and licenses are exactly the same. Oracle has moved the Java license from BCL to GPL2 (+ ClassPath Exception ) license which is the same license used by OpenJDK as well.


Broadly, I can categorize them based on my understanding:
  1. OpenJDK
  2. OracleJDK for free 
  3. OracleJDK with commercial - Java SE subscription Model. 

When to use what?

  • Use OpenJDK if you want to customize VM and language features and package it with your product.
  • If you don’t want to make any changes in JDK and VM, also not looking for any support from Oracle - then prefer OracleJDK for free.
  • If you have many applications which are still running with the older JDK versions like 6,7,8 which are not under LTS now, but you are still looking for security updates and support from Oracle - then go for OracleJDK with a commercial support.


Earlier, there were some commercial features(Heap Analyzer, Java Flight recorder,etc.) in OracleJDK but after Java 9 they slowly offloaded commercial features from the OracleJDK and contributed to OpenJDK.

Now with Java 11 - features, licenses and release cycle dates everything is same! 



Resources:


Long live Java!!