Skip to main content

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 - var keyword 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

References