Oracle seems to be moving towards a rapid release model as we can see the Java 9 was released after Java 8 and after some time, Java 10 was released. Now Java 11 has been released. The good thing about the rapid release model is that the users will enjoy more features being added to Java more often. The downside of this approach is that the users, as well as the developers, have to keep up to date with every new release of Java version.
Explaining the release cycle of Java versions
Java 11 is the first version to be released as Long Term Release Support. This means that Java 11 will be supported for the next 8 years and users will keep on getting new fixes and updates of Java 11.
Although Oracle has moved to a rapid release model it will also continue the LTRS model. A new Java version will be released after every three years and each Long Term Release Support version will be supported for a total of eight years. This means that Java 17 will be the next LTRS version which will be released somewhere in 2021.
Let’s quickly go through some of the new features added to Java 11 and then we’ll give links to Java 11 offline installers.
Epsilon garbage collector
It is known as a no-op garbage collector. The main functionality of this garbage collector is to handle memory allocation. It does not collect any garbage. It is used to check the performance of GC algorithms. It is useful for short-lived tasks.
Before that, it was a commercial feature but is available open-source now. It records the Operating system and JVM event to a file
Nest-Based Access Control
It provides the support of nested classes through inner classes while removing the need for compilers to insert accessibility-broadening bridge methods.
Local-Variable Syntax for Lambda Parameters
This feature was introduced in java 10 but it has been enhanced in the current version. The parameters for implicitly typed variables can be declared using the variables
The support for Unicode 10 has been added which includes bitcoin sign too.
Single File Source-Code Programs
This allows java source code directly executed by the java interpreter but the limitation with that feature is that all classes should be included in one file
Low-Overhead Heap Profiling
The heap allocations can be traced in a low overhead framework.
Transport Layer Security (TLS) 1.3
Transport Layer Security (TLS) version 1.3 has been implemented in Java 11. However, no performance enhancement has been made for datagram transport layer security.
ZGC: Garbage Collector
It is a scale-able low-latency garbage collector used for applications that require multi-Gigabyte heap collection.
The following changes have been made
- JAXB is removed from the JDK in JDK 11
- JavaFX libraries have been removed from core and are available as a separate download.
- Auto-update previously available on Windows and macOS for JRE installations is no longer available.
- Language Support for French, German, Italian, Korean, Portuguese (Brazilian), Spanish, and Swedish translations are no longer there.
- Java Mission Control has been separated from JDK.
- Updating packaging format for Windows and macOS has been changed. For Windows, it is now from tar.gz to .zip and for macOS is from .app to.dmg
- In OpenJDK JRE or Server JRE is not offered only JDK is available. In order to create a smaller custom runtime, a link can be used.
These changes have been made to make the version lighter but while migrating some issues and errors will be encountered by the users as the earlier version provides support for them. Although such initiative has been taken from Java 9 these features had not bee completely deprecated
Java 11 Download
To download the latest offline installers of Java 11 JRE and JDK, please follow the steps below:
- Go to this Oracle download link
- Accept the agreement
- Click on the link in front of the platform you want to download.
The following downloads are available:
- Java 11 JDK for Windows 64-bit
- Java 11 JDK for Linux RPM 64-bit
- Java 11 JDK for Linux TAR 64-bit
- Java 11 JDK for MacOS DMG 64-bit
If we have to summarize the features of Java 11, it introduces HTTP/2 support and brings in features like Nest-based access controls, a no-op garbage collector, TLS 1.3, enhanced Keystore mechanisms. These features may be enough to entice you to upgrade to Java 11. What are your thoughts about this version of Java?