This table provides a compact release-level overview of Java 1 through Java 27. For class-by-class navigation, see the Feature Map. For feature maturity and repository representation, see the Status Matrix.
| Java | Release | Package | Highlights |
|---|---|---|---|
| 1 | Jan 1996 / Feb 1997 | java01 |
Object-Oriented Foundations, Interfaces, Checked Exceptions, Threads, java.io, Inner Classes, Reflection, Serialization, JDBC, RMI, and JavaBeans examples |
| 2 | Dec 1998 | java02 |
Collections Framework, Sorting, strictfp, Swing, Java 2D, and Security Policy examples |
| 3 | May 2000 | java03 |
Dynamic Proxy, Timer, Shutdown Hooks and JNDI examples, Legacy Integration notes |
| 4 | Feb 2002 | java04 |
Assertions, Regex, NIO, Logging, Chained Exceptions, XML, and Security examples, Preferences notes |
| 5 | Sep 2004 | java05 |
Generics, Enhanced For Loop, Autoboxing, Enums, Varargs, Static Import, Annotations, Concurrency Utilities |
| 6 | Dec 2006 | java06 |
Navigable Collections, Monitoring/MXBeans example, Scripting/Compiler/Console/Web-Service explanatory modules |
| 7 | Jul 2011 | java07 |
Try-With-Resources, Multi-Catch, Diamond Operator, String Switch, NIO.2, Fork/Join, invokedynamic example |
| 8 | Mar 2014 | java08 |
Lambdas, Streams, Optional, Method References, CompletableFuture, Default Methods, Date/Time API |
| 9 | Sep 2017 | java09 |
Collection Factories, Optional/Stream Enhancements, Private Interface Methods, Process API, StackWalker, Module System example |
| 10 | Mar 2018 | java10 |
var, Unmodifiable Collectors, Optional.orElseThrow() |
| 11 | Sep 2018 | java11 |
String APIs, Files read/write string, HTTP Client, Predicate.not, lambda var, Optional.isEmpty |
| 12 | Mar 2019 | java12 |
Switch Expressions preview, Collectors.teeing, String.indent, Files.mismatch, Compact Number Format |
| 13 | Sep 2019 | java13 |
Text Blocks preview, switch yield preview, FileSystems.newFileSystem(Path) |
| 14 | Mar 2020 | java14 |
Switch Expressions final, Helpful NullPointerExceptions, Records preview, Pattern Matching for instanceof preview |
| 15 | Sep 2020 | java15 |
Text Blocks final, Sealed Classes preview, Hidden Classes example |
| 16 | Mar 2021 | java16 |
Records final, Pattern Matching for instanceof final, Stream.toList, Unix-domain socket example |
| 17 | Sep 2021 | java17 |
Sealed Classes final, Pattern Matching for switch preview, Random Generator API, HexFormat, Strong Encapsulation example |
| 18 | Mar 2022 | java18 |
UTF-8 default charset, Simple Web Server example, JavaDoc snippets example, Internet-Address Resolution SPI example |
| 19 | Sep 2022 | java19 |
Virtual Threads preview, Record Patterns preview, Pattern Matching switch preview, Structured Concurrency notes, FFM notes |
| 20 | Mar 2023 | java20 |
Record Patterns second preview, Pattern Matching switch fourth preview, Vector API example, Scoped Values/Structured Concurrency/FFM notes |
| 21 | Sep 2023 | java21 |
Virtual Threads final, Record Patterns final, Pattern Matching for switch final, Sequenced Collections, KEM example |
| 22 | Mar 2024 | java22 |
Unnamed Variables and Patterns final, FFM executable native example, Stream Gatherers explanatory module, Class-File API explanatory module |
| 23 | Sep 2024 | java23 |
Markdown Documentation Comments, Unsafe Memory-Access, and ZGC examples, preview notes |
| 24 | Mar 2025 | java24 |
Stream Gatherers final, Class-File API, Security Manager/AOT/runtime modules, post-quantum crypto examples, preview bridge modules |
| 25 | Sep 2025 | java25 |
Scoped Values final, Flexible Constructor Bodies final, Module Imports, KDF, Compact Source Files, JFR, AOT, and Object Headers examples, GC notes |
| 26 | Mar 2026 | java26 |
HTTP/3, Final Field restrictions, Applet API removal, AOT Object Caching, PEM Encodings, Lazy Constants, Primitive Patterns, Structured Concurrency, and Vector API examples; G1 synchronization notes |
| 27 | Sep 2026 | java27 |
Java 27: G1 and Compact Object Header defaults, post-quantum hybrid TLS, JFR redaction, and continuing preview examples for Lazy Constants, primitive patterns, Structured Concurrency, and PEM Encodings; Vector notes |