The Green Project & "Oak"
At Sun Microsystems, a small team led by James Gosling set out to build software for interactive TV and smart consumer devices. Gosling named the new language Oak — after the tree outside his office window.
// it was never about the web (yet)Java is born 👋
"Oak" was already trademarked, so the team renamed it Java — after the coffee. Publicly released on May 23, 1995, it shipped with the mascot Duke and a promise that changed everything: compile to bytecode, run on any machine with a JVM.
Write once, run anywhereJDK 1.0
The first official Java Development Kit arrived in January 1996. Applets brought Java into the browser, and "100% Pure Java" became the rallying cry of a generation of developers.
Java 5 — the language grows up
J2SE 5.0 ("Tiger") was a landmark release: generics, annotations, autoboxing, enums, varargs, and the enhanced for loop. Modern Java really starts here.
Java goes open source
Sun released Java under the GPL, creating OpenJDK — the open reference implementation that nearly every JDK is built on today.
Oracle acquires Sun
Oracle completed its acquisition of Sun Microsystems, becoming the new steward of Java. A nervous moment for the community — but the language kept marching forward.
Java 8 — the one everyone remembers
Lambdas. The Streams API. Optional. A new date/time API. Java 8 modernized the language overnight and became the most widely deployed release for years.
Modules & a new rhythm
Java 9 introduced the module system (Project Jigsaw) — and Oracle switched to a predictable six-month release cadence. From here, new Java ships like clockwork.
The LTS era — 11 & 17
Long-Term Support releases became the enterprise backbone. Java 11 then Java 17 gave teams stable, modern targets — with records, sealed classes, switch expressions and pattern matching arriving along the way.
Java 21 — virtual threads
Project Loom landed: virtual threads made massively concurrent code simple and cheap. Arguably the biggest shift to the platform since Java 8.
Thread.ofVirtual().start(...)Java 25, 26 and beyond
Java 25 (LTS) landed in 2025 and Java 26 followed in March 2026 — the six-month cadence ticking on like clockwork. Three decades in, Java powers banks, Android's lineage, Minecraft, and a staggering share of the backend world. Still evolving, still everywhere — and still brewing. ☕
// the JVM runs the world