OpenJDK is sun at the end of 2006 to open up Java project, where the "open source" is the usual sense of open source, that is, the source code can be reused, such as IcedTea, ultraviolet are derived from the openjdk source of the distribution version.
Oracle JDK uses a commercial implementation, while OPENJDK uses open source FreeType. Of course, "Same" is built on the components that are common to both, and Oracle JDK also has a few open jdk-free, commercially closed-source features, such as Java Flight Recorder from JRockit porting. It is expected that after the JRockit Missioncontrol is ported to hotspot, it will also be available in Oracle JDK proprietary, closed-source form.
The introduction of the relationship between Oracle's project release manager Joe Darcy in Oscon 2011 also confirms that OPENJDK 7 and Oracle JDK 7 are very close to the program, and they share a lot of the same code (for example, Note that the figure suggests that the ratio of the common code is much higher than what is seen on the graph, so the openjdk we compile can basically assume that the performance, functionality, and execution logic are consistent with the official Oracle JDK.
OpenJDK and JDK differences
Https://www.cnblogs.com/straybirds/p/8746532.html
In most Linux distributions, the built-in or software-sourced JDK is installed OPENJDK,
One, so what exactly is OpenJDK
Historically, OPENJDK is the open-source version of the JDK, published in the form of a GPL protocol. (General public License)
In the JDK7, OPENJDK has become the backbone of JDK7 development version, SUN JDK7 is published on the basis of OpenJDK7, most of its source code are the same, only a small part of the source is replaced.
Two, the difference between JDK and OPENJDK, can be summed up as the following points:
Different licensing agreements:
OpenJDK is released under the GPL V2 protocol, while the JDK is released using the JRL protocol.
The OPENJDK contains only the most streamlined JDK:
OPENJDK Source code is not complete:
It is easy to imagine that, in the GPL-OPENJDK, part of the source code of SUN JDK is not open openjdk for the problem of property rights, the most important part of which is the code of the optional component SNMP part in JMX.
So these open source code makes it plug for OpenJDK compile time, and you can choose not to use plug.
The relationship between OpenJDK and IcedTea:
The IcedTea project was originally created because of an incomplete openjdk (an obstacle caused by property rights) and the community needed a complete open source Toolchain and code base.
In OpenJDK, we have replaced the property Code (encumbered codes), so there are no more obstacles.
Because of our efforts, the IcedTea project has reduced the number of patches used.
A chunk of what IcedTea provides is the Plugin/java-web-start infrastructure.
Some source code is replaced with open source code:
You cannot use the Java trademark:
Refs
Google Guava Official Tutorial (Chinese version)
http://ifeve.com/google-guava/
Guava:google Core Libraries for Java
Guava Src and API Doc:
Https://github.com/google/guava
https://google.github.io/guava/releases/snapshot-jre/api/docs/
Oracle JDK vs OpenJDK