Java 10 features


286: Local-Variable Type Inference

var list = new ArrayList<String>();  // infers ArrayList<String>

var stream =;          // infers Stream<String>

A local-variable type inference to enhance the language to extend type inference to local variables. The intent is to reduce the “ceremony” associated with coding while maintaining a commitment to static type safety.

296: Consolidate the JDK Forest into a Single Repository  – Consolidation of the repositories of the JDK forest into a single repository to streamline development. The code base, until now, has been broken into multiple repos, which can cause problems with source-code management.

304: Garbage-Collector Interface – A clean garbage collector interface to improve source-code isolation of different garbage collectors. The goals for this effort include better modularity for internal garbage collection code in the HotSpot virtual machine and making it easier to add a new garbage collector to HotSpot.

307: Parallel Full GC for G1 – Parallel full garbage collection for the G1 garbage collector. The intent is to improve worst-case latencies by implementing parallelism.

310: Application Class-Data Sharing – Application class-data sharing to reduce the footprint by sharing common class metadata across processes. Startup time is improved as well.

312: Thread-Local Handshakes -Introduce a way to execute a callback on threads without performing a global VM safepoint. Make it both possible and cheap to stop individual threads and not just all threads or none.

313: Remove the Native-Header Generation Tool (javah)

314: Additional Unicode Language-Tag Extensions

316: Heap Allocation on Alternative Memory Devices

317: Experimental Java-Based JIT Compiler  –  Enabling the Grall Java-based just-in-time compiler to be used in an experimental fashion on the Linux/x64 platform

319: Root Certificates

322: Time-Based Release Versioning

Extra Notes –

  • JDK 10 key notes are available on Keynotes : Oracle code Chicago (YouTube).
  • JDK 11 will be release in September 18.
  • Java EE is named as Jakarta EE.



Further details can be found @

You may also like

Leave a Reply

Your email address will not be published. Required fields are marked *