| JDK Beta |
1995 |
|
| JDK 1.0 |
January 1996 |
|
| JDK 1.1 |
February 1997 |
AWT, JDBC, RMI, JIT |
| J2SE 1.2 |
December 1998 |
Swing, Collections |
| J2SE 1.3 |
May 2000 |
Hotspot JVM, JNDI, JPDA |
| J2SE 1.4 |
February 2002 |
Regular Expressions, Non blocking I/O, JAXP, Exception Handeling |
| J2SE 5.0 |
September 2004 |
Generics, Enumaration, static imports, Varargs, for each, Auto boxing |
| Java SE 6 |
December 2006 |
JAX-WS, JDBC 4, Supports Annotations, JAXB 2.0, compiler level performance |
| Java SE 7 |
July 2011 |
Strings in switch, Concurrency utilities, java.nio packages |
| Java SE 8 |
March 2014 |
lambda expressions, functional interfaces, new Date api, Streams, JavaFX |
| Java SE 9 |
September 2017 |
Modularization, jshell, Reactive Streams |
| Java SE 10 |
March 2018 |
Local-variable type inference, Java-based JIT compiler, Parallel full GC for G1, Thread-local handshakes, Heap allocation on alternative memory devices |
| Java SE 11 |
September 2018 |
Dynamic class-file constants, Epsilon: a no-op garbage collector, Local-variable syntax for lambda parameters, HTTP client |
| Java SE 12 |
March 2019 |
Switch Expressions, Default CDS archives, Microbenchmark, |
| Java SE 13 |
September 2019 |
FileSystems.newFileSystem() Method, DOM and SAX Factories with Namespace Support, Text Blocks, Switch Expressions Enhancements |
| Java SE 14 |
March 20202 |
Switch Expressions, Helpful NullPointerExceptions, JFR Event Streaming, Remove the Pack200 Tools and API |
| Java SE 15 |
September 2020 |
EdDSA Algorithm, Hidden classes, Removed Nashorn JS engine |
| Java SE 16 |
March 2021 |
Records, Vector API, Alpine Linux Port |
| Java SE 17 (LTS) |
September 2021 |
Deprecate the Security Manager for Removal, Sealed Classes, Strongly Encapsulate JDK Internals |
| Java SE 18 |
March 2022 |
UTF-8 By Default, Simple Web Server, Deprecate Finalization for Removal |
| Java SE 19 |
September 2022 |
New System Properties for System.out and System, New Methods to Create Preallocated HashMaps |