Java Versions Cheatsheet

1601




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