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 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.
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 rapid release model but 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 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 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 requires multi-Gigabyte heap collection.
The following changes has been made
JAXB is removed from the JDK in JDK 11
JavaFX libraries has been removed from core and is available as 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 form 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 smaller custom run times jlink can be used.
These changes has 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 but these features had not bee completely deprecated
Java 11 Download
In OpenJDK, only 64 bit version is supported. And now, Oracle has not released separate JRE installers for Java 11. So you will have to download and install the JDK to install JRE 11.
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?