|JDK 10 Released|
|Written by Kay Ewbank|
|Thursday, 22 March 2018|
The latest version of Java, JDK 10, has been released, just six months after Java 9 hit the shelves. This version adds local variable type inference among other improvements.
One aspect of the release is that there will be no more free support releases of Java 9 from now onwards, though users of Java 10 and Java 8 will get free support from Oracle. The reason why Java 8 continues to be supported is that it was the most recent LTS (Long Term Support) version of Java. Support for Java 8 will continue until four months after the release of the next LTS version of Java, which will be Java 11. This is planned for release in September 2018.
The improvements to Java 10 start with the support for local variable type inference. As the name suggests, this extends type inference to declarations of local variables with initializers. The scope of type inference was significantly broadened in Java SE 8, including expanded inference for nested and chained generic method calls, and inference for lambda formals. This made it easier to build APIs designed for call chaining. Local variable type inference allows a similar effect in less tightly structured APIs.
Elsewhere in this release, the JDK Forest has been consolidated into a single repository to simplify and streamline development. The garbage collector interface has also been rewritten to improve the source code isolation of different garbage collectors. This makes it simpler to add a new garbage collector without perturbing the current code base.
Other improvements include application class-data sharing to improve startup and footprint; and thread-local handshakes. These provide a way to execute a callback on threads without performing a global VM safepoint.
An experimental Java-based JIT compiler has also been added. Graal is a Java-based JIT compiler on which the experimental Ahead-of-Time (AOT) compiler introduced in JDK 9 was based. The enabling of it as an experimental JIT compiler is one of the initiatives of Project Metropolis, and is the next step in investigating the feasibility of a Java-based JIT for the JDK. Project Metropolis is a venue to explore and incubate advanced "Java-on-Java" implementation techniques for HotSpot, the OpenJDK implementation of the Java virtual machine.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Thursday, 22 March 2018 )|