Java has been one of the world's most widely used programming languages for three decades. It runs on everything from Android phones and bank back-ends to big data platforms. Here is a short tour of how it got here.
The beginning: the Green Project (1991–1995)
Java began in 1991 at Sun Microsystems, where James Gosling, Mike Sheridan and Patrick Naughton started the "Green Project" to build software for consumer devices such as set-top boxes. Gosling's new language was first called Oak, after a tree outside his office. The name was already trademarked, so it was renamed Java in 1995.
By then the web was taking off, and Sun repositioned Java for it. The language was announced publicly in May 1995 with the promise "Write Once, Run Anywhere": code compiled to bytecode could run on any machine with a Java Virtual Machine (JVM).
The early releases (1996–2002)
- JDK 1.0 (January 1996): the first official release, with applets bringing interactivity to web browsers.
- JDK 1.1 (1997): inner classes, JDBC, RMI, reflection and JavaBeans.
- J2SE 1.2 (1998): the Swing GUI toolkit and the Collections Framework. Java soon split into three editions: J2SE (standard), J2EE (enterprise) and J2ME (mobile).
- J2SE 1.3 and 1.4 (2000–2002): the HotSpot JVM, assertions, regular expressions and NIO.
The language grows up (2004–2006)
Java 5 (2004) was a landmark release. It added generics, annotations, enums, autoboxing, the enhanced for loop, varargs and the java.util.concurrent library. Java 6 (2006) focused on performance and scripting support.
In late 2006, Sun began releasing Java as open source under the GPL, which led to the OpenJDK project. OpenJDK is the foundation of nearly every Java distribution today.
The Oracle era (2010–2014)
Oracle completed its acquisition of Sun Microsystems in January 2010 and became Java's steward.
- Java 7 (2011): try-with-resources, the diamond operator, strings in switch and
invokedynamic. - Java 8 (2014): lambda expressions, the Streams API,
Optionaland the newjava.timeAPI. It brought functional-style programming to Java and remains one of the most popular versions ever.
A new release rhythm (2017–2018)
Java 9 (2017) introduced the module system (Project Jigsaw) and the JShell interactive tool. After it, Java moved to a new feature release every six months, with periodic Long-Term Support (LTS) versions.
- Java 10 (2018): local variable type inference with
var. - Java 11 (2018, LTS): a standard HTTP client and the ability to run single-file programs directly.
Around the same time, Java EE moved to the Eclipse Foundation and was renamed Jakarta EE.
Modern Java (2021–today)
- Java 17 (2021, LTS): sealed classes, alongside records, text blocks and pattern matching for
instanceoffrom the releases just before it. - Java 21 (2023, LTS): virtual threads (Project Loom), which make highly concurrent applications far simpler to write, plus record patterns, pattern matching for switch and sequenced collections.
- Java 25 (2025, LTS): compact source files and instance main methods, flexible constructor bodies and scoped values. These make Java easier for beginners and more efficient for large applications.
- Java 26 (March 2026) and Java 27 (September 2026): the latest feature releases. Java 27 notably strengthens support for post-quantum cryptography.
Why Java endures
Java's staying power comes from strong backward compatibility, a mature JVM, a huge ecosystem (Spring, Hibernate, Maven, Gradle, Kafka and many more) and a large community. The six-month release cadence means it keeps evolving steadily.
More than thirty years after the Green Project, Java is still one of the safest bets in software development.
Comments (0)
No comments yet — be the first to share your thoughts.