Java 10 Improves Garbage Collection
Written by Alex Denham   
Thursday, 19 April 2018

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, Facebook or Linkedin.


GitHub Introduces Code Scanning

GitHub has announced a public beta of a code scanner that automatically fixes problems. The new feature was announced back in November, but has now moved to public beta status.  

Excel Spreadsheet - A Joke?

No this isn't an April Fool's although in places it seems like one. It's a true account of how Williams Racing has suffered through reliance on an overgrown and outdated Microsoft Excel spreadsheet, l [ ... ]

More News

raspberry pi books



or email your comment to:

Last Updated ( Thursday, 19 April 2018 )