The long-awaited JDK 10 has released its first release candidate with no delays, and officials say a second release candidate will be available in March. JDK 10, an implementation of Java SE 10, will be released on March 20, 2018. Key improvements include local type inference and a clean garbage collection interface. After agreeing to participate in the Early Adopter program, users can download the experience from the official website (http://jdk.java.net/10/).

As we reported earlier on architecture, in the New Year, Java has changed its release cycle to every six months in order to iterate more quickly and follow up on community feedback, and promised not to skip the release cycle.

Key features in JDK 10 include:

  • Local variable type inference, used to enhance the language to extend type inference to local variables. The goal is to reduce the “formality” associated with encoding while maintaining static type safety.

  • A clean garbage collection interface to improve source code isolation for different garbage collectors. This is done to better modularize the internal garbage collection code in the HotSpot virtual machine, making it easier to add new garbage collectors to HotSpot.

  • Parallel full garbage collection for G1 garbage collector. The goal is to improve worst-case latency by enabling parallelism.

  • Enable HotSpot to allocate the object heap to a user-specified backup memory device (such as an NVDIMM module). This capability foreshadows the possibility that future systems will have heterogeneous memory architectures.

  • Enables Grall’s Java-based just-in-time compiler to be used experimentally on Linux/ X64 platforms.

  • Consolidate many JDK repositories into one repository to simplify development. Until now, the code base has been decomposed into multiple repositories, causing source code management problems.

  • Application class data sharing, which reduces footprint by sharing common class metadata across processes. Start-up times have also improved.

  • Thread-local handshake, a callback to a thread without performing a global VM safety point. You can stop a single thread, not all threads or one stop.

  • Provide a default set of root certification Authority certificates in the JDK. The goal is to open source the Root certificate in Oracle’s Java SE Root CA program to make OpenJDK more attractive to developers.

Oracle’s Java SE download page does not yet have JDK 10. However, there are other stages of development in JDK 10 before the final release. These include:

  • January 11, 2018: Complete at least one planned test run on all supported platforms.

  • January 18, 2018: Run q2, fix only fatal defects.

  • February 22, 2018: Final release candidate.

Long-term Java Roadmap

Here are some new features Oracle says to consider in future Java SE releases:

  • The Amber project is an incubator for smaller, productivity-oriented language features, including: local variable type inference and reduced Java code form; Enhance enumerations to improve the expressivity of enum constructs by allowing type variables in enumerations and performing clearer type checking on enumerated constants; Lambda leftover, which improves the availability of lambdas and method references.

  • The Panama project interconnects JVM and native code, mainly JVM-native function calls and JVM-native data access.

  • Valhalla is an incubator project for advanced Java virtual Machine and language feature candidates, including value types and generic reification.

  • The Loom project aims to reduce the complexity of writing concurrent applications. It requires the addition of alternative user-mode thread implementations, delimited Continuations, and other constructs involving call stack operations. The main goal of this proposal is to provide an alternative implementation of threads, managed by a scheduler written in Java. The normal Java threaded programming model will be retained, with improved performance and reduced footprint.

Based on this new six-month release schedule, features that miss this release may be delayed by six months for the next release. Aside from the JDK 10 announcements, Oracle hasn’t committed to when any of the new features will be implemented.

Check the original link: www.infoworld.com/article/323…

 

Thanks to Guo Lei for correcting this article.

To contribute or translate InfoQ Chinese, please email [email protected]. You are also welcome to follow us on Sina Weibo (@InfoQ, @Ding Xiaoyun) and wechat (wechat id: InfoQChina).