Java 10 has been officially released! You can download the official version of Java 10 here. To iterate faster and follow up on community feedback, the Java release cycle changed to every six months and promised not to skip tickets. The new release cycle will also strictly follow the time point and will be released in March and September of each year.
Java 10 is the first version to adopt a new release cycle, offering 109 new features, of which the most interesting one is the type inference of local variables.
12 key new features of Java 10:
- JEP 286: Inference of types of local variables. This feature was discussed in the community for a long time and a survey was conducted to see JEP 286 survey results
- JEP 296: Merging JDK’s Multiple Code Repositories into a Repository
- JEP 304: Garbage Collector Interface. Improve the source code isolation of different garbage collectors by introducing a clean garbage collector (GC) interface.
- JEP 307: Introducing Parallel Full GC to G1
- JEP 310: Application Data Sharing. To improve startup and footprint, expand again on existing Class Data Sharing (“CDS”) functionality to allow application classes to be placed in shared archives
- JEP 312: Thread-local control. Allows stopping a single thread instead of only enabling or stopping all threads
- JEP 313: Removing Native-Header Generation Tool (javah)
- JEP 314: Extra Unicode Language Tag Extensions. Including cu (currency type), fw (week of the first day of the week), rg (area coverage), tz (time zone), etc.
- JEP 316: Allocate heap memory on spare memory devices. Allow HotSpot VMs to allocate Java object heap on spare memory devices
- JEP 317: Java-based JIT Compiler (trial version)
- JEP 319: Root certificate. Root certificate in open source Java SE Root CA program
- JEP 322: Time-based release model. “Features releases” version will contain new features, “Update releases” version only fix bugs