Java 9–10 (non-LTS)
Brief Release Summary
Java 9 introduced the module system (Project Jigsaw), marking a major architectural change. Java 10 was the first release under the new 6-month release cycle, bringing local-variable type inference and other improvements.
Release Dates
- Java 9: September 21, 2017
- Java 10: March 20, 2018
Key Features Released
Java 9
- Java Platform Module System (JPMS) - Modularization of the JDK (Project Jigsaw)
- JShell - Interactive REPL (Read-Eval-Print Loop) tool
- HTTP/2 Client - New HTTP client API (incubator)
- Process API Improvements - Better process management
- Private Methods in Interfaces - Support for private methods in interfaces
- Multi-Release JAR Files - JAR files supporting multiple Java versions
- Reactive Streams - Flow API for reactive programming
- G1 as Default GC - G1 garbage collector made the default
Java 10
- Local-Variable Type Inference -
varkeyword for local variables - Application Class-Data Sharing - Improved startup time
- Parallel Full GC for G1 - Performance improvements for G1 GC
- Thread-Local Handshakes - Better JVM performance
- Heap Allocation on Alternative Memory Devices - Support for NV-DIMM memory
- Consolidated JDK Forest into Single Repository - Simplified source code management