Visual JDK notes
|
The information by Oracle over the last couple of years has often been misread, misinterpreted and misunderstood with the added complication that many do not understand their options going forward. The Java Champions issued, collectively, in September 2018 Java Is Still Free which contains what's probably the best perspective on options ranging from Java 8 onward. (This was updated in March 2019 here.) Avoiding very vendor-specific confusions from IBM, Red Hat, Azul, Zulu, etc., here are the options in a visual, hopefully recognizable display that will please most. Oracle's commercial JDK/JREWith Oracle, from now on, you pay for both the JDK (for developers) as well as for clients that consume, using a JRE, applications from those developers. The names are
It's unclear just how long released versions will be available. The oldest available from Oracle's page at present is Java 8. Getting older ones requires visiting a Java-archive page where you can get releases all the way back to Java SE 1.1, a real trip down memory lane, and are not available for all platforms. Sometimes, it's just older Windows and Solaris. There's no separate JRE anymore with Oracle. Since you're paying for it, they expect you to ship the runtime inside your application from now on. This began in Java 9. Command-line tool, jlink, introduced in JDK 9, makes it easier for developers to package and deploy dedicated (read: stand-alone) runtimes rather than having to rely upon a preinstalled system JRE. Such a runtime image acts exactly as a JRE, but contains only the modules you pick and their dependencies (per the requires directive). This can improve start-up time and other performance aspects of your running application. OpenJDK (jdk.java.net)This is Oracle too, but it's "$free" as well as free to use. The names are
CaveatHowever, while this is all $free and free, it goes on the accelerated, six-month cycle which means you must move on when Oracle does or stop at the last update ever made to the version you're using with the possibility that downloads of it may one day disappear altogether. It's unclear just how long released versions will be available. The oldest available from OpenJDK at present is Java 6. Just as with Oracle, there's no longer a separate JRE. You're expected to ship the runtime inside your application from now on. Adopt OpenJDK (adoptopenjdk.net)This is $free and free to use.
It's unclear just how long released versions will be available. The oldest available from Adopt OpenJDK at present is Java 8. Just as with Oracle, there's no longer a separate JRE. You're expected to ship the runtime inside your application from now on. Other JDKsThere are many others; here's a table of all of them.
* as of 1 February 2020. |
Class bytecode major version numbers
|
45 | Java 1.1 |
46 | Java 1.2 |
47 | Java 1.3 |
48 | Java 1.4 |
49 | Java 5 |
50 | Java 6 |
51 | Java 7 |
52 | Java 8 |
53 | Java 9 |
54 | Java 10 |
55 | Java 11 |
56 | Java 12 |
57 | Java 13 |