Version | Date | JEPs | Features |
---|---|---|---|
Java 1.0 | Jan 1996 | OS Independant Programming language, Java Virtual Machine | |
J2SE 5.0 | Sep 2004 | Enhanced For Loop, Generics, Enums, Autoboxing | |
Java SE 6 | Dec 2006 | Scripting Language Support, Improvements to Web Services | |
Java SE 7 | Jul 2011 | Project Coin (Diamond Operator, Strings in Switch), NIO.2 | |
Java SE 8 LTS | Mar 2014 | 56 | Functional Programming, Lambda & Streams, Multiple Inheritance |
Java SE 9 | Sep 2017 | 91 | Modularization - Java Platform Module System |
Java SE 10 | Mar 2018 | 12 | Local Variable Type Inference, List / Set / Map - CopyOf |
Java SE 11 LTS | Sep 2018 | 17 | New HTTP Client API, Nest-based access control, Remove JavaFX |
Java SE 12 | Mar 2019 | 8 | Switch Expressions (Preview) |
Java SE 13 | Sep 2019 | 5 | Text Blocks (Preview) |
Java SE 14 | Mar 2020 | 16 | Switch Expressions (Preview in 12 and 13), Pattern Matching for instanceof (Preview) |
Java SE 15 | Sep 2020 | 14 | Text Blocks (Preview in 13), Sealed Classes (Preview), Hidden Classes |
Java SE 16 | Mar 2021 | 17 | Record Classes (Preview in 14, 15), Pattern Matching for instanceof, Sealed Classes |
Java SE 17 LTS | Sep 2021 | 14 | Sealed Classes, Pattern Matching for switch (Preview), Enhanced Pseudo-Random Number Generators |
Java SE 18 | Mar 2022 | 9 | UTF-8 by default, Simple Web Server, Vector API (Second Incubator) |
Java SE 19 | Sep 2022 | 7 | Virtual Threads (Preview), Pattern Matching for switch (Third Preview) |
Java SE 20 | Mar 2023 | 6 | Scoped Values (Incubator), Virtual Threads (Second Preview) |
Java SE 21 LTS | Sep 2023 | 15 | Record Patterns, Unnamed Patterns and Variables, String Templates (Preview) |
Java SE 22 | Mar 2024 | Pattern Matching (Primitives), Stream Gatherers, Vector API | |
Java SE 23 | Sep 2024 | 12 | Pattern Match (Primitives), Module Import, Simplified Main, Stream Gatherers, Vector API |
Features
- 455: Primitive Types in Patterns, instanceof, and switch (Preview)
- 466: Class-File API (Second Preview)
- 467: Markdown Documentation Comments
- 469: Vector API (Eighth Incubator)
- 473: Stream Gatherers (Second Preview)
- 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal
- 474: ZGC: Generational Mode by Default
- 476: Module Import Declarations (Preview)
- 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)
- 480: Structured Concurrency (Third Preview)
- 481: Scoped Values (Third Preview)
- 482: Flexible Constructor Bodies (Second Preview)
Source: https://openjdk.org/projects/jdk/23/
This project is currently a work in progress. All key examples from Java versions 5 through 23 are expected to be completed by the first week of October 2024.