Released Versions
- Java SE 1.0 (1996): The first official Java release, featuring core language features, AWT, and basic networking.
- Java SE 1.1 (1997): Introduced inner classes, JDBC, RMI, and reflection.
- Java SE 1.2 (1998): Also known as Java 2, added Swing, Collections API, JIT compiler, and JavaBeans.
- Java SE 1.3 (2000): Enhanced performance, added HotSpot JVM, JNDI, JSSE, and JavaSound.
- Java SE 1.4 (2002): Introduced regular expressions, non-blocking I/O, assertion, and IPv6 support.
- Java SE 5 (2004): Major release with generics, annotations, enhanced for loop, autoboxing/unboxing, enums, and varargs.
- Java SE 6 (2006): Improved performance, added scripting support, JDBC 4.0, and pluggable annotations.
- Java SE 7 (2011): Introduced try-with-resources, switch on strings, multi-catch, binary literals, diamond operator, and NIO.2.
- Java SE 8 (2014): Major release with lambda expressions, streams API, default methods in interfaces, functional interfaces, and Date/Time API.
- Java SE 9 (2017): Modular system (Project Jigsaw), JShell REPL, multi-release JARs, HTTP/2 client, and G1 as default GC.
- Java SE 10 (2018): Local variable type inference (var), garbage collector interface, application class-data sharing, and experimental Java-based JIT compiler.
- Java SE 11 (2018): LTS release with HTTP client (standard), ZGC (experimental), flight recorder, and Epsilon GC.
- Java SE 12 (2019): Switch expressions (preview), raw string literals, Shenandoah GC (production), Microbenchmark Suite, and JVM constants API.
- Java SE 13 (2019): Text blocks (preview), dynamic class-file constants, switch expressions (standard), ZGC on macOS, and legacy socket API removal.
- Java SE 14 (2020): Pattern matching for instanceof (preview), records (preview), packaging tool, foreign-memory access API (incubator), and switch expressions (standard).
- Java SE 15 (2020): Sealed classes (preview), text blocks (standard), hidden classes, multi-line strings, records (standard), and deprecated applet API removal.
- ava SE 16 (2021): Pattern matching for instanceof (standard), records (standard), foreign-memory access API (preview), vector API (incubator), and ZGC on Windows/AArch64.
- Java SE 17 (2021): LTS release with pattern matching for instanceof, records, sealed classes (preview), Unix-domain socket channels, foreign linker API (incubator), and macOS/AArch64 port.
- Java SE 18 (2022): Simple web server, UTF-8 by default, vector API (second incubator), foreign function & memory API (incubator), and macOS/AArch64 port.
- Java SE 19 (2022): Value-based classes, virtual threads, switch pattern matching, and Linux/RISC-V port.
- Java SE 20 (2023): Annotations on Java types, generic specialization, runtime class-file patching, enhanced pseudorandom number generators, vector API (third incubator), and Linux/RISC-V port.
- Java SE 21 (2023): Virtual threads (standard), vector API (fourth incubator), and macOS/AArch64 port.
Upcoming Versions (Tentative):
- Java SE 22 (March 2024): Potential features include pattern matching for switch (standard), foreign function & memory API (standard), and more.
- Java SE 23 (September 2024): Potential features include further advancements in pattern matching, value-based classes, and performance enhancements.