4 ms·
What are the differences among these JDKs? Will JRE always remain free?
by iamcreasy 8y ago
What are the differences among these JDKs? Will JRE always remain free?
- jsiepkes 8y agoWell in case of Oracle JRE vs Azul Zing JRE they are both derived from OpenJDK and the technical differences are minimal. There is some minimal difference like Oracle has a (legacy) commercial font renderer and Zing is build with LLVM instead of GCC by default. Almost all OS'es besides Windows and OS X (So Linux distros, FreeBSD, SmartOS, etc) already build and distribute OpenJDK themselves. So this is all really just about Windows and OS X. You can easily compile OpenJDK yourself but I would recommend anyone to just move to Azul Zing and you won't notice any difference from the Oracle JRE. There are also full fledged JVM's which have their own codebase like OpenJ9 (the formally IBM JVM which is now opensourced under Eclipse governance), Azul Zulu (not to be confused with Azul Zing!), etc. These are all Java compatible JVM implementations and have their own pros and cons. Zulu for example is a commercial JVM that has a pauseless garbage collector. So to be clear; These are NOT derived from OpenJDK. Some background on JRE vs JDK. The JRE is the Java runtime environment so basically the JVM plus soms tools. This is what you need to run Java applications. The JDK also contains the Java compiler and some development tools.
- iamcreasy 8y agoThank you. Can you please elaborate on why you recommend Azul Zing over OpenJDK? Also, does OpenJDK contain both the JDK and JRE?
- jsiepkes 8y agoYes, OpenJDK is the project which contains both the JRE and JDK. When Sun opensourced their Java implementation it named it OpenJDK. The only reason their "closed source" distro of OpenJDK (ie. what is now Oracle JRE/JDK) wasn't killed off was because of a couple of minor things which they couldn't opensource like the font rendering engine. In OpenJDK those are replaced with alternatives. Apparently they didn't want to force their users to deal with any possible incompatibility so they just kept distributing this as the Sun (and now Oracle) JDK / JRE. But there is really nothing special about it. I recommend Azul's OpenJDK distro because it is intended to be a drop in replacement of the Oracle JRE in the broadest sense (easy to use download page, etc.). Getting OpenJDK is a bit harder; the webpages are a bit unclearer. Windows files harder to find. But if you already have OpenJDK via your Linux distro, can download it yourself, etc. I would say; By all means use it!
- iamcreasy 8y agoCan I expect Java Mission Control, Java VisualVM and a plethora of other 3rd party tools to work as expected with OpenJDK / Azul Zing? I was going through Azul Zing documentation I noticed that it uses different C4 garbage collector algorithm - which is different that the one used one OracleJDK. Since I am following some tutorials on JVM on Pluralsight, I am guessing I should pick OpenJDK over Azul. Am I right?
- jsiepkes 8y agoI just noticed I've mixed up the names of Zulu and Zing; Zulu is the OpenJDK distro, Zing is their own JVM which has C4. So you should use Zulu. Zulu doesn't have C4. Sorry about that. Since Zulu is basically OpenJDK it should all just work. Though mission control was opensourced very recently so it might not be in their codebase yet.