1996 | JDK 1.0 | First official release; basic core libraries, applets. |
1997 | JDK 1.1 | Inner classes, JDBC, JavaBeans, RMI. |
1998 | J2SE 1.2 | Swing GUI, Collections Framework, JIT compiler. |
2000 | J2SE 1.3 | HotSpot JVM, Java Naming and Directory Interface (JNDI). |
2002 | J2SE 1.4 | assert keyword, NIO (New I/O), logging API, XML parsing. |
2004 | J2SE 5.0 | Generics, annotations, enhanced for loop, autoboxing, varargs. |
2006 | Java SE 6 | Scripting API, improvements in web services, compiler API. |
2011 | Java SE 7 | try-with-resources, diamond operator, NIO.2, fork/join framework. |
2014 | Java SE 8 | Lambda expressions, Stream API, Date/Time API (java.time), default methods. |
2017 | Java SE 9 | Module System (Project Jigsaw), JShell REPL. |
2018 | Java SE 10 | Local-variable type inference (var ). |
2018 | Java SE 11 (LTS) | HTTP Client API, new String methods, removed Java EE modules. |
2019 | Java SE 12–13 | Switch expressions (preview), text blocks (preview). |
2020 | Java SE 14 | Records (preview), pattern matching for instanceof . |
2021 | Java SE 16–17 (LTS) | Sealed classes, finalized records, pattern matching, enhanced pseudo-random number generators. |
2022–2025 | Java 18–22 | Continuous improvements: virtual threads (Project Loom), pattern matching enhancements, structured concurrency. |