This section provides a chronological deep dive into the most significant changes in each major Java release, starting from the pivotal Java 5. Each version page breaks down new features by topic, from core language enhancements to new APIs and tools.
Java Features by Version
Topics
-
Java 5: The First Great Modernization
Java 5 (or 1.5) introduced foundational features like Generics, Enums, and Annotations that are still central to the language today.
-
Java 6: Performance, Tooling, and Stability
While light on new language syntax, Java 6 was a pivotal release that brought major performance gains and powerful new tooling APIs.
-
Java 7: Project Coin and Quality of Life
A pragmatic release focused on small but powerful language enhancements that improve developer productivity and code readability.
-
Java 8: The Functional Revolution
Java 8 was the most transformative release in a decade, introducing lambdas, streams, and a new date/time API.
-
Java 9: The Module System (Jigsaw)
Java 9 was a massive architectural release centered on the Java Platform Module System, designed to bring reliable configuration and strong encapsulation to large applications.
-
Java 10: Local-Variable Type Inference (var)
Though a non-LTS release, Java 10 introduced one of the most impactful daily productivity features in modern Java: the 'var' keyword.
-
Java 11: The First Modern LTS
As the first Long-Term Support (LTS) release after Java 8, Java 11 standardized key features like the `var` keyword and introduced a new HTTP Client.
-
Java 15: Records and Text Blocks become Standard
Java 15 finalized two massive quality-of-life features: Text Blocks for multi-line strings and Records for creating immutable data carriers.
-
Java 17: Sealed Classes and Pattern Matching
The second major LTS release, Java 17, brought powerful new object-oriented modeling features with Sealed Classes and enhanced pattern matching.
-
Java 21: Virtual Threads and Modern Concurrency
The latest LTS release marks a paradigm shift in concurrency with the introduction of Virtual Threads (Project Loom), making scalable concurrent applications dramatically simpler to write.