Home Java Java - History
Java - History
History of Java
Java programming language was originally developed by Sun Microsystems which was initiated by
James Gosling and released in 1995 as core component of Sun Microsystems' Java platform (Java
1.0 [J2SE]). History of even naming of the Java is very interesting. It went under many names.
Java Name History
GreenTalk
James Gosling was leading a team named as 'Green' team. Target of this team was to create a new
language which can work on multiple electronic devices seemlessly. Initially C++ was the original
choice to develop the project. James Gosling wanted to enhance C++ to achieve the target but due
to high memory usage, that idea was rejected and team started with a new language initially named
as GreenTalk. The file extension used as .gt. Later this language was termed as Oak and finally to
Java.
Oak
James Gosling renamed language to Oak. There was an Oak tree in front of his office. James
Gosling used this name as Oak represents solidarity and Oak tree is the national tree of multiple
countries like USA, France, Romania etc. But Oak technologies already had Oak as a trademark and
James team had to brainstrom another title for the language.
Finally Java
Team put multiple names like DNA, Silk, Ruby and Java. Java was finalized by the team. James
Gosling tabled Java title based on type of espresso coffee bean. Java is an island in Indonesia
where new coffee was discovered termed as Java coffee. As per James Gosling, Java was among
the top choice along with Silk. Finally Java was selected as it was quite unique and represented the
essence of being dynamic,revolutionary and fun to say.
Sun released the first public implementation as Java 1.0 in 1995. It promised Write Once, Run
Anywhere (WORA), providing no-cost run-times on popular platforms.
On 13 November, 2006, Sun released much of Java as free and open source software under the
terms of the GNU General Public License (GPL).
On 8 May, 2007, Sun finished the process, making all of Java's core code free and open-source, aside
from a small portion of code to which Sun did not hold the copyright.
The latest release of the Java Standard Edition is Java SE 21. With the advancement of Java and its
widespread popularity, multiple configurations were built to suit various types of platforms. For
example: J2EE for Enterprise Applications, J2ME for Mobile Applications.
Java Versions History
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.
[Link]. Version Date Description
1 JDK Beta 1995 Initial Draft version
23 Jan
2 JDK 1.0 A stable variant JDK 1.0.2 was termed as JDK 1
1996
19 Feb Major features like JavaBeans, RMI, JDBC, inner classes were added in this
3 JDK 1.1
1997 release.
8 Dec Swing, JIT Compiler, Java Modules, Collections were introduced to JAVA and
4 JDK 1.2
1998 this release was a great success.
8 May HotSpot JVM, JNDI, JPDA, JavaSound and support for Synthetic proxy
5 JDK 1.3
2000 classes were added.
Image I/O API to create/read JPEG/PNG image were added. Integrated XML
6 Feb
6 JDK 1.4 parser and XSLT processor (JAXP) and Preferences API were other important
2002
updates.
JDK 1.5 30 Sep Various new features were added to the language like foreach, var-args,
7
or J2SE 5 2004 generics etc.
11
JAVA SE 1. notation was dropped to SE and upgrades done to JAXB 2.0, JSR 269
8 Dec
6 support and JDBC 4.0 support added.
2006
JAVA SE 7 Jul Support for dynamic languages added to JVM. Another enhancements
9
7 2011 included string in switch case, compressed 64 bit pointers etc.
18
JAVA SE Support for functional programming added. Lambda expressions, streams,
10 Mar
8 default methods, new date-time APIs introduced.
2014
JAVA SE 21 Sep
11 Module system introduced which can be applied to JVM platform.
9 2017
20 Unicode language-tag extensions added. Root certificates, threadlocal
JAVA SE
12 Mar handshakes, support for heap allocation on alternate memory devices etc
10
2018 were introduced.
JAVA SE 5 Sep Dynamic class-file constants, Epsilon a no-op garbage collector, local-variable
13
11 2018 support in lambda parameters, Low-overhead heap profiling support added.
19
JAVA SE Experimental Garbage Collector,Shenandoah: A Low-Pause-Time Garbage
14 Mar
12 Collector, Microbenchmark Suite, JVM Constants API added.
2019
JAVA SE 17 Sep Feature added - Text Blocks (Multiline strings), Enhanced Thread-local
15
13 2019 handshakes.
17
JAVA SE Feature added - Records, a new class type for modelling, Pattern Matching
16 Mar
14 for instanceof, Intuitive NullPointerException handling.
2020
JAVA SE 15 Sep Feature added - Sealed Classes, Hidden Classes, Foreign Function and
17
15 2020 Memory API (Incubator).
16
JAVA SE Feature added as preview - Records, Pattern Matching for switch, Unix
18 Mar
16 Domain Socket Channel (Incubator) etc.
2021
Feature added as finalized - Sealed Classes, Pattern Matching for instanceof,
JAVA SE 14 Sep
19 Strong encapsulation of JDK internals by default. New macOS rendering
17 2021
pipeline etc.
22 Feature added - UTF-8 by Default, Code Snippets in Java API Documentation,
JAVA SE
20 Mar Vector API (Third incubator), Foreign Function, Memory API (Second
18
2022 Incubator) etc.
JAVA SE 20 Sep Feature added - Record pattern, Vector API (Fourth incubator), Structured
21
19 2022 Concurrency (Incubator) etc.
21 Feature added - Scoped Values (Incubator), Record Patterns (Second
JAVA SE
22 Mar Preview), Pattern Matching for switch (Fourth Preview),Foreign Function &
20
2023 Memory API (Second Preview) etc.
JAVA SE 19 Sep Feature added - String Templates (Preview), Sequenced Collections,
22
21 2023 Generational ZGC, Record Patterns, Pattern Matching for switch etc.
Feature added - Region Pinning for G1 garbage collector, foreign functions
19
Java SE and memory APIs , multi-file source code programs support, string templates,
23 Mar
22 vector apis (seventh incubator), unnamed variables, patterns, stream
2024
gatherers (first preview) etc.
Feature added - Primitive types in patterns, class file APIs, vector APIs (Eighth
Java SE 17 Sep
24 incubator), stream gatherers (second preview), ZDC, generation mode by
23 2024
default etc.
🤖 AI Learning Lab: Interactive History
Use our expert-verified prompts to dive deeper into Java's history using ChatGPT, Gemini, or Claude.
FEATURED PROMPT
Compare Java Evolution (1.0 vs 21)
"Act as a Java Architect. Show me a 'Hello World' snippet in Java 1.0 and Java 21.
Explain the 3 biggest syntax improvements that make the modern version more
efficient."
Copy Prompt
Explore All 10 Java History Prompts →