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 = list.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.

 javalogo


 

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.

Banner


Microsoft Is Ending Support For Windows Android Subsystem
07/03/2024

Microsoft has announced that it is ending support for running Android applications under Windows 11. The support will cease next year. This announcement was followed rapidly by Amazon announcing the e [ ... ]



Pi Day - The Great Unanswered Questions
14/03/2024

It's Pi day again, again, again... Even after so many, I still have things to say about this most intriguing number. The most important things about Pi is that it is irrational and one of the few tran [ ... ]


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 19 April 2018 )