Java Introduction · Lesson 2/5
40%
⏱ 5 min read Modified: 2026-06-26

History of Java programming language

Java is an object-oriented programming language whose development began in 1991 at Sun Microsystems (the Green project, led by James Gosling). Its first public release — JDK 1.0 — came out on January 23, 1996. Over almost 30 years, the language has evolved from Oak to Java 26 (2026). Below is the history of its key versions and features.

Java version table

Year Version Line Key features
1996 JDK 1.0 Java (formerly Oak) First release: JVM, core APIs, AWT, applets
1997 JDK 1.1 Java JavaBeans, JDBC, inner classes, reflection
1998 J2SE 1.2 Java 2 Collections Framework, Swing, JIT compiler
2000 J2SE 1.3 Java 2 HotSpot JVM, JNDI
2002 J2SE 1.4 Java 2 assert, regular expressions, NIO, logging
2004 J2SE 5.0 Java 5 Generics, annotations, enums, varargs, for-each, autoboxing
2006 Java SE 6 Java 6 Collections improvements (NavigableSet, NavigableMap), JAX-WS
2011 Java SE 7 Java 7 switch on String, try-with-resources, multi-catch, NIO.2
2014 Java SE 8 LTS Java 8 Lambda expressions, Stream API, java.time, default methods
2017 Java SE 9 Java 9 Module system (Project Jigsaw), JShell, private interface methods
2018 Java SE 10 Java 10 The var keyword (local-variable type inference)
2018 Java SE 11 LTS Java 11 New HTTP Client, var in lambdas, removal of Java EE/CORBA
2019 Java SE 12–13 Java 12–13 Switch expressions (preview), text blocks (preview)
2020 Java SE 14–15 Java 14–15 Records (preview), pattern matching, sealed classes (preview)
2021 Java SE 16 Java 16 Records and pattern matching for instanceof (stable)
2021 Java SE 17 LTS Java 17 Sealed classes (stable), pattern matching for switch (preview)
2022 Java SE 18–19 Java 18–19 UTF-8 by default, virtual threads (preview)
2023 Java SE 20 Java 20 Structured concurrency and record patterns evolve
2023 Java SE 21 LTS Java 21 Virtual threads, pattern matching for switch and records (stable)
2024 Java SE 22–23 Java 22–23 Foreign Function & Memory API, preview features evolve
2025 Java SE 24 Java 24 Further JVM and language improvements
2025 Java SE 25 LTS Java 25 Structured concurrency (stable), value objects (preview)
2026 Java SE 26 Java 26 Project Valhalla, Project Panama evolve

JDK 1.0 — the birth of Java (1996)

The story began in 1991, when a Sun Microsystems team led by James Gosling worked on the Green project — a language for consumer electronics (set-top boxes and other devices). The language was originally called Oak, but was later renamed Java. The first public release, JDK 1.0, came out in January 1996. The language was influenced by C++ but emphasized simplicity and security.

There are several versions of how the name originated. The most common one says the language was named after Java coffee, which in turn was named after the Indonesian island of Java — which is why the Java logo features a cup of coffee.

JDK 1.1 (1997)

In 1997, JDK 1.1 was released, already officially carrying the name Java. Its new features included the JavaBeans component model, JDBC for database access, inner classes, and reflection.

J2SE 1.2 — the “Java 2” era (1998)

With version 1.2, the package name changed from JDK to J2SE (Java 2 Standard Edition), and the line became known as Java 2. This release introduced the Collections Framework, the Swing library, and a JIT compiler. The “Java 2” name became so entrenched that many books kept it in their titles even while describing later versions (Java 5, Java 6).

J2SE 5.0 — a major language update (2004)

With the fifth version, the marketing name became Java 5 and the package name J2SE 5.0. From then on, the language version number follows the package number. Java 5 brought many changes:

Java SE 6 (2006) and Java SE 7 (2011)

In Java 6, the main changes involved collections — the NavigableSet and NavigableMap interfaces were added; the package name became Java SE 6.

A full five years passed between Java 6 and Java 7. This was largely because in 2009 Sun Microsystems, the owner of Java, was acquired by Oracle (the deal was announced in 2009 and completed in January 2010). Java 7 introduced: using String in switch, multi-catch, try-with-resources, underscores in numeric literals, and binary literals.

Java SE 8 — functional style (2014)

Java 8 became one of the most important releases and the first LTS version. It introduced lambda expressions and related method references, functional interfaces, static and default interface methods, a new date/time API (java.time), and the Stream API.

Java SE 9–10 and the move to a six-month cadence (2017–2018)

Java 9 brought the module system (Project Jigsaw), private interface methods, and the JShell tool. Java 10 introduced the var keyword. From that point, Oracle switched to a six-month release cadence: a new version ships every six months — in March and September.

Modern Java and LTS versions

After the move to a fast release cadence, the concept of LTS (Long-Term Support) versions emerged — releases with extended support that most companies rely on. These are Java 8, 11, 17, 21, and 25; since Java 17, a new LTS ships every two years. Interim versions are supported for only six months, so production systems typically use an LTS release.

Key features of modern Java include records and sealed classes (Java 16–17), pattern matching and switch expressions, and virtual threads (Project Loom), which became stable in Java 21. As of 2026, the latest version is Java 26, and the latest LTS is Java 25.

Frequently asked questions

Who created the Java language?

Java was developed by a Sun Microsystems team led by James Gosling as part of the Green project, started in 1991.

When was the first version of Java released?

The first public release, JDK 1.0, came out on January 23, 1996. Development had begun back in 1991 under the name Oak.

Why is the language called Java?

According to the most common account, it was named after Java coffee, itself named after the Indonesian island of Java — which is why the logo shows a cup of coffee.

What are Java LTS versions?

LTS (Long-Term Support) versions are Java 8, 11, 17, 21, and 25. Most companies rely on them because interim versions are supported for only six months.

What is the latest version of Java?

As of 2026, the latest version is Java 26 (released March 2026), and the latest LTS version is Java 25 (September 2025).

When did Oracle acquire Java?

Oracle acquired Sun Microsystems, the owner of Java: the deal was announced in 2009 and completed in January 2010.

Video Explanation

Prefer video format? Watch this lesson with examples and explanations.

Comments

Please log in or register to have a possibility to add comment.

‹ Previous lesson Next lesson ›