Over the period of nearly 30 years, Java has seen many minor and major versions. Following is a brief explaination of versions of java till date.
Sr.No. | Version | Date | Description |
---|---|---|---|
1 | JDK Beta | 1995 | Initial Draft version |
2 | JDK 1.0 | 23 Jan 1996 | A stable variant JDK 1.0.2 was termed as JDK 1 |
3 | JDK 1.1 | 19 Feb 1997 | Major features like JavaBeans, RMI, JDBC, inner classes were added in this release. |
4 | JDK 1.2 | 8 Dec 1998 | Swing, JIT Compiler, Java Modules, Collections were introduced to JAVA and this release was a great success. |
5 | JDK 1.3 | 8 May 2000 | HotSpot JVM, JNDI, JPDA, JavaSound and support for Synthetic proxy classes were added. |
6 | JDK 1.4 | 6 Feb 2002 | Image I/O API to create/read JPEG/PNG image were added. Integrated XML parser and XSLT processor (JAXP) and Preferences API were other important updates. |
7 | JDK 1.5 or J2SE 5 | 30 Sep 2004 | Various new features were added to the language like foreach, var-args, generics etc. |
8 | JAVA SE 6 | 11 Dec 2006 | 1. notation was dropped to SE and upgrades done to JAXB 2.0, JSR 269 support and JDBC 4.0 support added. |
9 | JAVA SE 7 | 7 Jul 2011 | Support for dynamic languages added to JVM. Another enhancements included string in switch case, compressed 64 bit pointers etc. |
10 | JAVA SE 8 | 18 Mar 2014 | Support for functional programming added. Lambda expressions,streams, default methods, new date-time APIs introduced. |
11 | JAVA SE 9 | 21 Sep 2017 | Module system introduced which can be applied to JVM platform. |
12 | JAVA SE 10 | 20 Mar 2018 | Unicode language-tag extensions added. Root certificates, threadlocal handshakes, support for heap allocation on alternate memory devices etc were introduced. |
13 | JAVA SE 11 | 5 Sep 2018 | Dynamic class-file constants,Epsilon a no-op garbage collector, local-variable support in lambda parameters, Low-overhead heap profiling support added. |
14 | JAVA SE 12 | 19 Mar 2019 | Experimental Garbage Collector,Shenandoah: A Low-Pause-Time Garbage Collector, Microbenchmark Suite, JVM Constants API added. |
15 | JAVA SE 13 | 17 Sep 2019 | Feature added – Text Blocks (Multiline strings), Enhanced Thread-local handshakes. |
16 | JAVA SE 14 | 17 Mar 2020 | Feature added – Records, a new class type for modelling, Pattern Matching for instanceof, Intuitive NullPointerException handling. |
17 | JAVA SE 15 | 15 Sep 2020 | Feature added – Sealed Classes, Hidden Classes, Foreign Function and Memory API (Incubator). |
18 | JAVA SE 16 | 16 Mar 2021 | Feature added as preview – Records, Pattern Matching for switch, Unix Domain Socket Channel (Incubator) etc. |
19 | JAVA SE 17 | 14 Sep 2021 | Feature added as finalized – Sealed Classes, Pattern Matching for instanceof, Strong encapsulation of JDK internals by default. New macOS rendering pipeline etc. |
20 | JAVA SE 18 | 22 Mar 2022 | Feature added – UTF-8 by Default, Code Snippets in Java API Documentation, Vector API (Third incubator), Foreign Function, Memory API (Second Incubator) etc. |
21 | JAVA SE 19 | 20 Sep 2022 | Feature added – Record pattern, Vector API (Fourth incubator), Structured Concurrency (Incubator) etc. |
22 | JAVA SE 20 | 21 Mar 2023 | Feature added – Scoped Values (Incubator), Record Patterns (Second Preview), Pattern Matching for switch (Fourth Preview),Foreign Function & Memory API (Second Preview) etc. |
22 | JAVA SE 21 | 19 Sep 2023 | Feature added – String Templates (Preview), Sequenced Collections, Generational ZGC, Record Patterns, Pattern Matching for switch etc. |
Leave a Reply