Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

What to Expect in Java JDK 10

DZone's Guide to

What to Expect in Java JDK 10

Java 9 might still be fairly new, but the beat goes on! We take a look at what you can likely expect from Java JDK 10. What features would you like to see?

· Java Zone ·
Free Resource

Verify, standardize, and correct the Big 4 + more– name, email, phone and global addresses – try our Data Quality APIs now at Melissa Developer Portal!

As we are just getting used to the release of Java 9 from September, we only have a few more months to go before the next generation of Java comes out. Just this month, the planned Java Development Kit 10 upgrade has moved into a major rampdown phase of development. In the first initial phase, 1-3 bugs can be fixed.

JDK 10, the implementation of Java Standard Edition 10, is due for gold release (production) on March 20, 2018. The key improvements that were proposed include a local type reference and a clean interface for garbage collection.

Oracle set a six-month release cycle for Java releases. There have been plans to name this upgrade and the successors based on the year and month of each release — the first release being named Java 18.3. Those plans were scrapped after some objections were raised.

You can download the beta versions from their website after agreeing to join the early adopter program.

The key new features in Java JDK 10 are:

  • A local-variable type inference to enhance the language to extend type inference to local variables. The intent is to reduce the “ceremony” associated with coding while maintaining a commitment to static type safety.
  • A clean garbage collector interface to improve source-code isolation of different garbage collectors. The goals for this effort include better modularity for internal garbage collection code in the HotSpot virtual machine and making it easier to add a new garbage collector to HotSpot.
  • Parallel full garbage collection for the G1 garbage collector. The intent is to improve worst-case latencies by implementing parallelism.
  • Enabling HotSpot to allocate the object heap on an alternative memory device, such as an NVDIMM memory module, specified by the user. This feature envisions that future systems may have heterogeneous memory architectures.
  • Enabling the Grall Java-based just-in-time compiler to be used in an experimental fashion on the Linux/x64 platform.
  • Consolidation of the repositories of the JDK forest into a single repository to streamline development. The code base, until now, has been broken into multiple repos, which can cause problems with source-code management.
  • Application class-data sharing to reduce the footprint by sharing common class metadata across processes. Startup time is improved as well.
  • Thread-local handshakes for executing a callback on threads without performing a global VM safepoint. Individual threads could be stopped instead of either all threads or no threads.
  • Provision of a default set of root certificate authority certificates in the JDK. The goal is to open-source root certificates in Oracle’s Java SE Root CA program to make OpenJDK builds more enticing to developers.

Oracle’s Java SE download page does not yet offer access to JDK 10, but there are still additional phases for the development of JDK 10 before the final release.

Fresh from the long-awaited release of Java Development Kit (JDK) 9 on September 21, Oracle is mapping out planned upgrades for Java, including for the Java 18.3 version due in March 2018.

Developers! Quickly and easily gain access to the tools and information you need! Explore, test and combine our data quality APIs at Melissa Developer Portal – home to tools that save time and boost revenue. Our APIs verify, standardize, and correct the Big 4 + more – name, email, phone and global addresses – to ensure accurate delivery, prevent blacklisting and identify risks in real-time.

Topics:
java ,java 9 ,jdk 10 ,java performance

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}