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:

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.

Rust is the great hope for a safe low-level programming language. This is often expressed in the motto "fearless concurrency", but who is to say that it really is better. Perhaps it's just as bad in d [ ... ]