Java 10 Features Overview: var Keyword, AppCDS & More
- Published on
- Authors
- Name
- Spaghetti Code Jungle
- @spagcodejungle

Java 10 Features Overview: var Keyword, AppCDS & More
Java 10 may not have been a long-term support (LTS) release, but it packed a surprising punch. This version introduced key features that changed how Java developers write and think about their code.
Introduction
- Release Date: March 20, 2018
- Short-lived yet forward-thinking
- Designed to accelerate Java’s release cadence
Key Features
1. Local-Variable Type Inference (var)
Java 10 introduced the much-awaited var keyword, enabling developers to declare local variables without explicitly specifying their type. This resulted in cleaner, more concise code.
Example:
var list = new ArrayList<String>();
2. Application Class-Data Sharing (AppCDS)
AppCDS significantly improved Java Virtual Machine (JVM) startup performance by allowing class metadata to be shared across different Java applications. This enhancement reduced both memory footprint and startup time.
3. Garbage-Collector Interface
Java 10 provided a modular garbage collector (GC) interface, enabling developers to easily plug in new GC implementations. This laid important groundwork for innovations like the Z Garbage Collector (ZGC) introduced in later versions.
4. Thread-Local Handshakes
This performance-oriented feature improved JVM responsiveness by allowing targeted actions on individual threads, rather than pausing the entire JVM. It helped in reducing global JVM pauses significantly.
5. Root Certificates
Java 10 introduced an open-source root certificate store, enhancing security and simplifying secure HTTPS connections out-of-the-box. This meant less manual setup and reduced friction for secure networking.
Why It Matters
- Java 10 set the stage for rapid innovation in the Java ecosystem. While
varcaptured the headlines with its user-facing syntax improvement, under-the-hood enhancements like AppCDS and modular GC interfaces laid essential groundwork for future Java releases. - Java 10 prioritized developer convenience, code readability, and JVM performance improvements.
- Served as a critical stepping stone for Java 11 and subsequent long-term support releases.
What’s Next?
In future posts, we'll dive deeper into the features i found interesting.