1991 (June):
- Java language project initiated by James Gosling: James Gosling begins the Java language project for use in set-top box projects. The language is initially called ‘Oak’ (after an oak tree outside Gosling’s office) and also goes by the name ‘Green’. The initial choice for development was C++, but due to high memory usage, a new language (GreenTalk) was started. The file extension used for GreenTalk was .gt.
1995:
- Java 1.0 (J2SE) released by Sun Microsystems: Sun releases the first public implementation of Java as Java 1.0 (J2SE), promising the “Write Once, Run Anywhere” (WORA) capability, providing no-cost run-times on popular platforms. This marks the official release of Java as a core component of Sun Microsystems’ Java platform.
- Java’s “Hello, World!” program established: The conventional “Hello, World!” program becomes the standard first example for learning Java programming, demonstrating the basic structure of a Java program including class declaration, main method, and System.out.println statement.
1996 (23 January):
- JDK 1.0.2 (JDK 1) released: A stable variant of the initial draft version (JDK Beta from 1995) is released.
1997 (19 February):
- JDK 1.1 released: This version adds major features such as JavaBeans, RMI, JDBC, and inner classes.
1998 (8 December):
- JDK 1.2 released: This release is a “great success,” introducing Swing, JIT Compiler, Java Modules (though this might be a typo in the source as Modules were formally introduced in Java SE 9), and Collections.
2000 (8 May):
- JDK 1.3 released: Key additions include HotSpot JVM, JNDI, JPDA, JavaSound, and support for Synthetic proxy classes.
2002 (6 February):
- JDK 1.4 released: This version adds the Image I/O API for creating/reading JPEG/PNG images, integrated XML parser and XSLT processor (JAXP), and the Preferences API.
2004 (30 September):
- JDK 1.5 (or J2SE 5) released: Significant new language features are introduced, including enhanced for loops (foreach), variable-length argument lists (var-args), and generics.
2006 (13 November):
- Java core code released as free and open-source: Sun Microsystems releases a significant portion of Java as free and open-source software under the terms of the GNU General Public License (GPL).
- JAVA SE 6 released: The “1. notation” for versioning is dropped, and upgrades are made to JAXB 2.0, JSR 269 support, and JDBC 4.0 support.
2007 (8 May):
- All core Java code released as free and open-source (mostly): Sun completes the process of making almost all of Java’s core code free and open-source, with minor exceptions for code where Sun did not hold the copyright.
2011 (7 July):
- JAVA SE 7 released: This version adds support for dynamic languages to the JVM and includes enhancements like strings in switch statements and compressed 64-bit pointers.
2014 (18 March):
- JAVA SE 8 released: This is a major update, adding support for functional programming, including Lambda expressions, streams, default methods in interfaces, and new date-time APIs.
2017 (21 September):
- JAVA SE 9 released: A module system is introduced, applicable to the JVM platform.
2018 (20 March):
- JAVA SE 10 released: Features like Unicode language-tag extensions, root certificates, thread-local handshakes, and support for heap allocation on alternate memory devices are introduced.
2018 (5 September):
- JAVA SE 11 released: New features include dynamic class-file constants, Epsilon (a no-op garbage collector), local-variable support in lambda parameters, and low-overhead heap profiling support.
2019 (19 March):
- JAVA SE 12 released: This version adds an experimental garbage collector (Shenandoah: A Low-Pause-Time Garbage Collector), a Microbenchmark Suite, and the JVM Constants API.
2019 (17 September):
- JAVA SE 13 released: Features added include Text Blocks (Multiline strings) and enhanced Thread-local handshakes.
2020 (17 March):
- JAVA SE 14 released: New features are Records (a new class type for modelling), Pattern Matching for instanceof, and intuitive NullPointerException handling.
2020 (15 September):
- JAVA SE 15 released: This version adds Sealed Classes, Hidden Classes, and the Foreign Function and Memory API (Incubator).
2021 (16 March):
- JAVA SE 16 released: Features added as preview include Records, Pattern Matching for switch, and Unix Domain Socket Channel (Incubator).
2021 (14 September):
- JAVA SE 17 released: Sealed Classes and Pattern Matching for instanceof are finalized. Strong encapsulation of JDK internals by default and a new macOS rendering pipeline are also added.
2022 (22 March):
- JAVA SE 18 released: Features include UTF-8 by Default, Code Snippets in Java API Documentation, Vector API (Third incubator), and Foreign Function & Memory API (Second Incubator).
2022 (20 September):
- JAVA SE 19 released: Features added include Record pattern, Vector API (Fourth incubator), and Structured Concurrency (Incubator).
2023 (21 March):
- JAVA SE 20 released: Features include Scoped Values (Incubator), Record Patterns (Second Preview), Pattern Matching for switch (Fourth Preview), and Foreign Function & Memory API (Second Preview).
2023 (19 September):
- JAVA SE 21 released: Features include String Templates (Preview), Sequenced Collections, Generational ZGC, Record Patterns, and Pattern Matching for switch.
2024 (19 March):
- Java SE 22 released: Features added include Region Pinning for G1 garbage collector, foreign functions and memory APIs, multi-file source code programs support, string templates, vector APIs (seventh incubator), unnamed variables, patterns, and stream gatherers (first preview).
2024 (17 September):
- Java SE 23 released: Features added include Primitive types in patterns, class file APIs, vector APIs (Eighth incubator), stream gatherers (second preview), ZDC (Z Garbage Collector), and generation mode by default.
2025 (July 23 - latest update date cited in sources):
- Ongoing development and documentation: GeeksforGeeks articles on “Decision Making in Java,” “Java Data Types,” and “Java Methods” are updated, indicating continued active development, documentation, and teaching of Java concepts.
2025 (Copyright date in “1.1 Your First Java Program: Hello World”):
- Continued intellectual property and resource availability: Robert Sedgewick and Kevin Wayne retain copyright for their Java programming materials, implying ongoing access and relevance of their structured approach to learning Java.
- Tutorials Point Copyright (2025): Tutorials Point maintains copyright for its Java tutorial, suggesting continued relevance and updates for its educational content.