Sunday, February 9, 2020

JRE vs. JDK vs. SE vs. OpenJDK , ETC.


Are you a little lost with so many terms for a download in Java?

So I got one day when I decided to do some research, homework delayed since happened so many new events in the Java world that shook it require a revision to check how things became, just to make sure. Below, you find a summary containing the source links.
Below you get a summary.


Pointing to OpenJDK there is a link to Java SE 13 where it is found the information below (italic), plus some research,  lead me to the following conclusion:

JDK is used as it was before Oracle's acquisition - for Java development that contains free and may have proprietary code under licenses' conditions.

The Java SE is a "reference implementation" - text in italic, where we find the purpose of it.
There are also Enterprise Edition and Micro Edition platforms

OpenJDK is the open-source enterprise to maintain the free version of Java.

JRE is the Java virtual machine to run Java applications developed by JDK or OpenJDK kits.




NOTE FROM THE SITE AT Java SE 13

Java Platform, Standard Edition 13 Reference Implementations
The official Reference Implementation for Java SE 13 (JSR 388) is based solely upon open-source code available from the JDK 13 Project in the OpenJDK Community.
The binaries are available under the GNU General Public License version 2, with the Classpath Exception.
These binaries are for reference use only!
These binaries are provided for use by implementers of the Java SE 13 Platform Specification and are for reference purposes only. This Reference Implementation has been approved through the Java Community Process. Production-ready binaries under the GPL are available from Oracle; and will be in most popular Linux distributions.


>Baeldung's Comment


JDK (Java Development Kit) is a software development environment used in Java platform programming. It contains a complete Java Runtime Environment, a so-called private runtime. The name came from the fact that it contains more tools than the standalone JRE as well as the other components needed for developing Java applications.

Oracle strongly recommends using the term JDK to refer to the Java SE (Standard Edition) Development Kit (there are also Enterprise Edition and Micro Edition platforms).
Not all releases will be the Long-Term-Support (LTS) releases. As a result of Oracle's release plan, the LTS product releases will happen only every three years.

Java SE 11 is the latest LTS version, and Java SE 8 will be receiving free public updates until December 2020 for non-commercial usage.
This development kit got its current name after Oracle bought Sun Microsystems in 2010. Before that, the name was SUN JDK, and it was the official implementation of the Java programming language.

@FROM:
www.baeldung.com/oracle-jdk-vs-openjdk


JAVA DOWNLOADS

>ORACLE

www.java.com/en/download/


>NEW ORACLE LICENSE

Java Download

Download Java for your desktop computer now!
Version 8 Update 241Release date January 14, 2020
Important Oracle Java License Update

The Oracle Java License has changed for releases starting April 16, 2019.

The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle Java licenses. The new license permits certain uses, such as personal use and development use, at no cost -- but other uses authorized under prior Oracle Java licenses may no longer be available. Please review the terms carefully before downloading and using this product. An FAQ is available here.
Commercial license and support is available with a low cost Java SE Subscription.
Oracle also provides the latest OpenJDK release under the open source GPL License at jdk.java.net.


>OpenJDK

jdk.java.net
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.
Certainly, we should emphasize that the OpenJDK is an official reference implementation of a Java Standard Edition since version SE 7.
Initially, it was based only on the JDK 7. But, since Java 10, the open-source reference implementation of the Java SE platform is the responsibility of the JDK Project. And, just like for the Oracle, the JDK Project will also deliver new feature releases every six months.
We should note that before this long-running project, there were JDK Release Projects that released one feature and then got discontinued.


>Oracle JDK vs. OpenJDK

baeldung.com/oracle-jdk-vs-openjdk

>Licenses


Oracle JDK was licensed under Oracle Binary Code License Agreement, whereas OpenJDK has the GNU General Public License (GNU GPL) version 2 with a linking exception.
There are some licensing implications when using Oracle's platform. 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, as Oracle announced. However, OpenJDK is completely open source and can be used it freely.

>Performance

There is no real technical difference between the two since the build process for the Oracle JDK is based on that of OpenJDK.
When it comes to performance, Oracle's is much better regarding responsiveness and JVM performance. It puts more focus on stability due to the importance it gives to its enterprise customers.
OpenJDK, in contrast, will deliver releases more often. As a result, we can encounter problems with instability. Based on community feedback, we know some OpenJDK users have encountered performance issues.

No comments:

Post a Comment

eclipse: java: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" or Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

  >PROBLEM Using Eclipse, you try to run a simple logging test using "org.slf4j.Logger" like the sample below: package Test; im...