As we are just getting used to the release of Java 9 in 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 one through three bugs can be fixed.
JDK 10, the implementation of Java Standard Edition 10, is due for gold release (production) on March 20, 2018. Key improvements include a local type reference and a clean interface for garbage collection.
Oracle set a six-month release cycle for Java releases. There has been plans to name this upgrade, and successors based on it, after the year and month of each release. The first release was to be named Java 18.3. Such plans were scrapped after some objections were raised.
You can download the beta versions from their website after agreeing to join the early adopters program.
The key new features in Java JDK 10 are:
- A local-variable type inference to enhance the language by extending 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, as 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.