Red hat provides the Red Hat OpenJDK 8 for Windows for development use only (registration required). AdoptOpenJDK provides OpenJDK 8 builds for Windows (AdoptOpenJDK 8 Windows) without any restrictions.
Is there any technical difference between the two packages when using the same version/update(e.g. 8u181)? With "technical difference" I mean missing classes/functions, different default JVM settings, etc.
Adoptium/AdoptOpenJDK ➙ builds. The first provides source-code, the other provides builds of that source-code. OpenJDK is an open-source project providing source-code (not builds) of an implementation of the Java platform as defined by: the Java Specifications.
This image is officially deprecated in favor of the eclipse-temurin image, and will receive no further updates after 2021-08-01 (Aug 01, 2021).
AdoptOpenJDK is an open, community-led initiative that provides free, pre-built binaries of the reference implementation of the Java platform from OpenJDK. The AdoptOpenJDK community's goal is to ensure that these regularly updated downloads of Java are available for everyone all the time.
All Red Hat distributions of OpenJDK are supported for development and production for all Java workloads, giving you the confidence to develop, test, and deploy in Windows or Linux-based environments. The JRE2 and JDK distributions are made available via rpm and zip files.
Red Hat provides OpenJDK 8 Windows binaries under exactly the same license as AdoptOpenJDK and any other open-source OpenJDK 8 build - under the GNU GPL v. 2 with classpath exception. All the restrictions about the "development use" are related only to the subscription (support) that can be purchased from Red Hat.
Technical differences between Red Hat OpenJDK 8 for Windows and other mentioned builds are pretty minor, as all these builds pass TCK. Generally Red Hat builds are trying to stay as close as possible in behaviour to OpenJDK 8 package that is included in RHEL and CentOS.
Differences:
RH OpenJDK 8 build is done from the sources of OpenJDK RPM package that is used on RHEL/CentOS. These sources are generally very close to upstream sources, but contain some changes (see points below) and may include some bugfixes (RPM patches) ahead of time. RHEL/CentOS changes can be tracked in a publicly-available repo for CentOS RPM
RH OpenJDK 8 includes Shenandoah garbage collector
RH OpenJDK 8 uses sources from RHEL/CentOS for dependency libraries (zlib, giflib, libjpeg-turbo, libpng, nss (nss is not used anymore)) instead of the (partial) sources of these libraries that are included in-tree in upstream jdk sources
Elliptic Crypto implementation in RH OpenJDK 8 includes only 3 most popular elliptic curves - NIST P-256, NIST P-384 and NIST P-521.
RH OpenJDK 8 uses the set of root CA certificates from RHEL/CentOS
RH OpenJDK 8 may use slightly newer timezone data - it is taken from RHEL/CentOS
RH OpenJDK 8 includes all Java sources code inside the src.zip file (that is used by IDEs to allow browsing jdk code), in upstream build substantial part of these sources is not included
RH OpenJDK 8 does not include demos and samples
RH OpenJDK 8 includes a set of font files
all native binaries in RH OpenJDK 8 are signed by RH certificate
RH OpenJDK 8 installer includes a JavaFX implementation
RH OpenJDK 8 installer includes a WebStart implementation
Source: I work on OpenJDK Windows builds at RH.
The main difference in AdoptOpenJDK I found is that you can choose from 2 different VM implementations, either the HotSpot which I found has similar slow performance than Oracle's implementation or the much more efficient Eclipse Open J9 jvm implementation which is based on former IBM SDK 8 which is now open sourced. To confirm I have an Eclipse Maven project which compiles slow in Oracle's JVM implementation.
So I think open sourcing Oracle's JVM gave some better results than Oracle's commercial JVM, however open sourcing IBM's JDK with Open J9 is much better and performance is 1 order of magnitude faster in compilation time (for my project).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With