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.
After a few delays the Khronos Group has released version 1.0 of the Vulkan API - which is often referred to as the next generation version of OpenGL. How will this change things?
Proofs that P=NP, and even for the less exciting and more likely P≠NP, abound. Most of them by enthusiasts who, usually, can be commended for their enthusiasm, but not so much for their proofs. However, the latest proof is by a respected complexity theorist and can't be dismissed in the usual way. Final Update: The paper has been withdrawn.
- MathML 3.0 Is An International Standard
- Polymer 2.4 Strengthens TypeScript Support
- Mozilla Wants Your Voice
- Microsoft Cognitive Toolkit Version 2.0
- Why Users Uninstall Apps
- The Mystery Of Arduino & ARM
- Microsoft Z3 Theorem Prover Wins Award
- Azure Machine Learning Enhancements
- Entity Framework Core 2 Released With Drawbacks
- ICRA 2015 - A Cornucopia Of Robots
- Mozilla Makes WebAssembly For The Rest Of Us
- How Is Windows 10 Doing?