Earlier, Oracle released Java 10, the first release of Java since Oracle changed its release strategy. Oracle has now decided to release a new version of Java every six months. The cycle is shorter, but not because we have more to learn, but because the shorter development cycle helps fix bugs faster. And release new features early, because the time is short so there are not many new features. This update includes local variable type inference, G1 parallel complete garbage collection, and a beta java-based JIT compiler. Updated details are as follows:

** Local variable type inference: ** Java 10 can now infer local variable types, building on the type inference of Java 8 lambda expressions.

**G1 parallel full garbage Collection: ** increases the level of worst-case latency for full garbage collection on G1.

** Application of Class Data Sharing: ** Optimize startup speed and reduce overhead by extending existing class-data Sharing (CDS) functionality to allow classes to be stored in shared archives.

** Beta Java-based JIT compiler: ** Graal, the Java-based JIT compiler, is enabled in Linux 64-bit environments. Graal is a general-purpose virtual machine that can run applications written in JavaScript, Python, Ruby, R and JVM languages Java, Scala, Cloujure, Kotlin programming languages, as well as llVM-based programming languages. Such as C and C++, and can provide much faster speeds.

** Garbage collector interface: ** In order to make the source code of different garbage collectors better separate, a new concise garbage collector interface has been introduced. It makes HotSpot’s internal garbage collection code more modular, allowing new garbage collector implementations to queue up a garbage collector implementation without affecting existing garbage collector code.

** Local thread handshake: ** The global VM restore point is no longer restored when thread callbacks are executed, making it possible and less expensive to close a single thread.

** New Unicode language tag extensions: ** Enhancements to java.util.locale and its associated apis to implement the BCP 47 Unicode extension.

** Allows heap allocation on other memory devices: ** For example, nV-DIMM memory devices can be used.

** Root Certificates: ** provides a default set of root certificate authority (CA).

** Time-based releases: ** Fixes the Java SE platform and JDK version string schema.

** Consolidating THE JDK forest into a single repository: ** Consolidates scattered JDK repositories into one repository, simplifying the JDK development process.