Java 11 is a lighter version as the support for Java EE, CORBA modules, Java FX and NASRON javascript engine has been ended. Moreover, it introduces a new HTTP client API which supports HTTP 1.1 and HTTP 2. It will offer features of Java along with some further enhancements and changes. The changes made are incremental with small feature changes and updates to the earlier 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.

New Features

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.

Flight Recorder

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

Unicode 10

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.

Changes

The following changes have been made

Nashorn JavaScript Engine, Java EE and CORBA modules are deprecatedJAXB is removed from the JDK in JDK 11JavaFX 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.dmgIn 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: The following downloads are available:

Java 11 JDK for Windows 64-bitJava 11 JDK for Linux RPM 64-bitJava 11 JDK for Linux TAR 64-bitJava 11 JDK for MacOS DMG 64-bit

Conclusion

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?