Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Technically what is the main difference between Oracle JDK and OpenJDK? [duplicate]

Tags:

java

linux

java-7

People also ask

What is the difference between Oracle JDK and OpenJDK?

The biggest difference between OpenJDK and Oracle JDK is licensing. OpenJDK is completely open source Java with a GNU General Public License. Oracle JDK requires a commercial license under Oracle Binary Code License Agreement.

What is the difference between JVM JDK JRE & OpenJDK?

The JRE does not contain tools and utilities such as compilers or debuggers for developing applets and applications. The JDK is a superset of the JRE, and contains everything that is in the JRE, plus tools such as the compilers and debuggers necessary for developing applets and applications.

Can OpenJDK replace Oracle JDK?

Oracle JDK 11 and OpenJDK 11 will be interchangeable. There are some differences between Oracle JDK 1.8 and OpenJDK 1.8, although the gap is shrinking.

What is the difference between Oracle JDK and Amazon Corretto?

One of the important differences between OpenJDK and several other vendors (like Amazon Corretto) is their release and support cycle. OpenJDK is on a 6-month release cycle and only support each release for this time. After the next release, the previous release will stop receiving patches.


Technical differences are a consequence of the goal of each one (OpenJDK is meant to be the reference implementation, open to the community, while Oracle is meant to be a commercial one)

They both have "almost" the same code of the classes in the Java API; but the code for the virtual machine itself is actually different, and when it comes to libraries, OpenJDK tends to use open libraries while Oracle tends to use closed ones; for instance, the font library.


OpenJDK is a reference model and open source, while Oracle JDK is an implementation of the OpenJDK and is not open source. Oracle JDK is more stable than OpenJDK.

OpenJDK is released under GPL v2 license whereas Oracle JDK is licensed under Oracle Binary Code License Agreement.

OpenJDK and Oracle JDK have almost the same code, but Oracle JDK has more classes and some bugs fixed.

So if you want to develop enterprise/commercial software I would suggest to go for Oracle JDK, as it is thoroughly tested and stable.

I have faced lot of problems with application crashes using OpenJDK, which are fixed just by switching to Oracle JDK