Java 10, a feature release of Java SE, has improved its garbage collection and compilation, and has also extended the Class-Data Sharing feature to improve startup and footprint. 

This is intended to be a short-term release, with Java 11, due in September, being the next version that will receive long-term support. 



The first improvement of note for this new version is support for Local-Variable Type Inference. This extends type inference to declarations of local variables with initializers. This feature would allow, for example, declarations such as:

var list = new ArrayList<String>(); 
// infers ArrayList<String> var stream =;
// infers Stream<String>

A new clean garbage collector interface has also been introduced with the aim of Improving the source code isolation of different garbage collectors. This is intended to provide better modularity for HotSpot internal GC code, and to make it easier to add a new GC to HotSpot without perturbing the current code base. A parallel full GC for G1 has also been added, to improve G1 worst-case latencies by making the full GC parallel. The G1 garbage collector was made the default in JDK 9, but wasn't parallel.

Another change enables the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform. Graal is a Java-based JIT compiler, and is the basis of the experimental Ahead-of-Time (AOT) compiler introduced in JDK 9. This change is the next step in investigating the feasibility of a Java-based JIT for the JDK.

Application Data-Class Sharing has been added. This is an extension of the existing Class-Data Sharing (“CDS”) feature for allowing application classes to be placed in the shared archive in order to improve startup and footprint.

Other improvements in the new version include Additional Unicode Language-Tag Extensions; and Heap Allocation on alternative memory devices. This latter change means that the HotSpot VM can allocate the Java object heap on an alternative memory device, such as an NV-DIMM, specified by the user.



More Information

Oracle Java 10

Related Articles

Java 9 Finally Appears

Java 9 Slips Again

No Vote For Java Module System

JDK 9 Release Slips Again 

JDK Delivery Date Update

Jigsaw In JDK

JDK 9 Update

JDK 9 Early Access Now Available

Java JDK 9 Proposals

Jigsaw Shelved Until Java 9

Java 8 Launched With Supporting Line-Up

To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.


Vulkan 1.0 3D Graphics API Now Available
17 Feb 2016 09:00 - David Conrad

After a few delays the Khronos Group has released version 1.0 of the Vulkan API - which is often referred to as the next generation version of OpenGL. How will this change things?

New Proof That P≠NP: Final Update - Almost Certainly not
01 Sep 2017 00:00 - Mike James

Proofs that P=NP, and even for the less exciting and more likely P≠NP, abound. Most of them by enthusiasts who, usually, can be commended for their enthusiasm, but not so much for their proofs. However, the latest proof is by a respected complexity theorist and can't be dismissed in the usual way. Final Update: The paper has been withdrawn.

Other Articles





or email your comment to: This email address is being protected from spambots. You need JavaScript enabled to view it.