Java was officially launched by Sun Microsystems on 23 May 1995 at the SunWorld conference, but its story starts in 1991 with a small team led by James Gosling. For its first few years the language had a different name, and the explanation of why Java was originally called Oak at Sun is refreshingly simple: Gosling named it after an oak tree that stood outside his office window.
Origins: the Green Project
In 1991, Patrick Naughton, Mike Sheridan and James Gosling started the Green Project at Sun to explore software for consumer electronics such as set-top boxes and handheld controllers. Gosling first tried C++, but found it too complex and too dependent on the target hardware. He designed a new language with C-like syntax, garbage collection and a portable bytecode format, so the same program could run on different chips.
In 1992 the team demonstrated the *7 ("Star Seven"), a handheld device with an animated mascot named Duke, who later became Java's official mascot. The cable television deals the team hoped for never materialised, but the web was emerging, and portable, safe code turned out to be exactly what browsers needed.
Why Java was originally called Oak at Sun
Oak was a working name chosen by Gosling, and it stuck through the Green Project years. When Sun prepared to release the language commercially, its lawyers found that Oak Technology already held the trademark. The team held a brainstorming session to find a replacement; candidates reportedly included "Silk", "DNA" and "Ruby", and "Java", after the coffee from Indonesia, came out on top. Popular explanations of Java as an acronym of the founders' names are myths.
Design and key features
Java's design goals were spelled out in Sun's 1995 white paper: simple, object-oriented, distributed, robust, secure, architecture-neutral, portable, high-performance and multithreaded.
- The Java Virtual Machine (JVM) runs compiled bytecode, behind the slogan "Write once, run anywhere".
- Garbage collection removes manual memory management and a whole class of C++ bugs.
- No pointer arithmetic, no multiple inheritance of classes, and checked exceptions.
- A large standard library covering networking, collections, I/O and concurrency.
- Just-in-time compilation: the HotSpot JVM, introduced in 1999, made Java competitive in speed.
A short Java example
import java.util.List;
public class Main {
record Release(String name, int year) {}
public static void main(String[] args) {
var releases = List.of(
new Release("JDK 1.0", 1996),
new Release("Java 8", 2014),
new Release("Java 21", 2023));
releases.stream()
.filter(r -> r.year() > 2000)
.forEach(r -> System.out.println(r.name()));
}
}
Records and var come from recent versions; lambdas and streams arrived in Java 8.
Versions timeline
| Year | Release | Notable change |
|---|---|---|
| 1996 | JDK 1.0 | First stable release, applets |
| 1998 | J2SE 1.2 | Collections framework, Swing |
| 2004 | Java 5 | Generics, annotations, enums |
| 2014 | Java 8 | Lambdas, streams, new date-time API |
| 2017 | Java 9 | Module system; six-month cadence follows |
| 2021 | Java 17 | LTS: sealed classes, strong encapsulation |
| 2023 | Java 21 | LTS: virtual threads, pattern matching for switch |
Since 2018 a new Java version ships every six months, with long-term support releases every two years. Sun released most of Java as open source through OpenJDK starting in 2006, and Oracle took over Java when it acquired Sun in 2010.
Where Java is used today
- Enterprise backends: banks, insurers and governments run huge Java systems, often on Spring.
- Android: Android apps were written in Java for years before Kotlin became Google's preferred language, and Android's libraries are still Java-based.
- Big data: Hadoop, Elasticsearch, Apache Cassandra and much of the Kafka ecosystem run on the JVM.
- Games and tools: Minecraft: Java Edition, and IDEs such as IntelliJ IDEA and Eclipse.
Influence and legacy
Java made garbage collection and virtual machines mainstream in industry. Microsoft's C# began as a response to it, and the JVM became a platform for other languages: Scala, Clojure, Groovy and Kotlin. Even JavaScript took its name and some syntax from Java for marketing reasons in 1995. The story of why Java was originally called Oak at Sun is a small footnote, but it captures how a language for toasters and TV boxes ended up running much of the world's business software.
Frequently asked questions
What happened to the oak tree Java was named after?
The tree stood outside James Gosling's office at Sun, but there is no well-documented account of what happened to it later. The name itself survived only in early Green Project documents. After the trademark search, the language shipped publicly as Java in 1995.
Is Java an acronym for its creators' names?
No. Stories that Java stands for the initials of Gosling, Arthur Van Hoff and Andy Bechtolsheim are a myth. The name came from a brainstorming session and refers to Java coffee. That is also why Java's logo is a steaming coffee cup.
Are Java and JavaScript related?
Only by name and a little surface syntax. JavaScript was created by Brendan Eich at Netscape in 1995, and the name was chosen through a marketing agreement with Sun. They have different type systems, runtimes and object models.







