Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between OpenJDK 10 and Java SE 10 Reference Implementation

Tags:

java

What exactly is the difference between the two versions described below?

From http://jdk.java.net/10/

JDK 10.0.1 General-Availability Release

This page provides production-ready open-source builds of the Java Development Kit, version 10.0.1, an implementation of the Java SE 10 Platform under the GNU General Public License, version 2, with the Classpath Exception.


From http://jdk.java.net/java-se-ri/10

Java Platform, Standard Edition 10 Reference Implementations

The official Reference Implementation for Java SE 10 (JSR 383) is based solely upon open-source code available from the JDK 10 Project in the OpenJDK Community.

like image 961
Abhiram Avatar asked May 13 '18 12:05

Abhiram


People also ask

What is the difference between OpenJDK and Java SE?

OpenJDK is a free and open-source implementation of the Java SE Platform Edition. It was initially released in 2007 as the result of the development that Sun Microsystems started in 2006. We should emphasize that OpenJDK is an official reference implementation of a Java Standard Edition since version SE 7.

What is OpenJDK reference implementation?

OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only with a linking exception.

Is Java JDK the same as se?

The Java Development Kit (JDK) is part of the Java SE Product, there are other parts as well, but you can treat them as the same thing for development purposes.

Is OpenJDK and JRE same?

JRE is the Java Runtime Environment – it contains a JVM, among other things, and is what you need to run a Java program. JDK is the Java Development Kit – it is the JRE, but with javac (which is what you need to compile Java source code) and other programming tools added. OpenJDK is a specific JDK implementation.


2 Answers

The Reference Implementation is a 'prototype or "proof of concept" implementation of a Specification', in this case the Java SE 10 Platform JSR. As such, it doesn't get any further updates, unless the specification itself needs to be updated. Its target audience are specification writers, and implementation developers, rather than actual users.

The GA release, on the other hand, receives at least two updates for critical issues, e.g. time zone fixes, P1 bug fixes, security issues, etc. - it's suitable for development and production use.

like image 82
Dalibor Topic Avatar answered Sep 22 '22 10:09

Dalibor Topic


The General-Availability Release is designed for actual use by programmers and developers, and receives security updates. The Reference Implementation is for JVM developers who want a reference JVM that is conforming to the specification that they can compare their work to.

In any case you want to use the GAR builds.

like image 28
Kitten Avatar answered Sep 19 '22 10:09

Kitten