All articles

A Brief History of Java: From Oak to Java 27

A short tour of Java's history, from the Green Project and Oak in 1991 to Java 27 in 2026: the key releases, the move to open source, the Oracle era and modern Java.

0 · log in to like, save & follow Share on LinkedIn Share on X

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, followed by what that history means for you if you are learning Java today.

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, Optional and the new java.time API. 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 instanceof from 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.

Your first Java program, then and now

Thirty years of history shows up even in "Hello, World". For most of Java's life, a beginner had to write a class and a public static void main method before printing anything:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}

Since Java 25, compact source files and instance main methods let the same first program look like this:

void main() {
    IO.println("Hello, Java!");
}

Save it as Hello.java and run it with java Hello.java: no separate compile step, no class to declare. The ceremony is still there when you need it, but you no longer have to learn it on day one.

Where Java is used in 2026

  • Banking and fintech back-ends: payment systems, core banking and trading platforms, mostly built with Spring Boot.
  • Enterprise applications: the large business systems that IT services companies build and maintain for clients across the world.
  • Big data and streaming: Kafka, Hadoop, Spark and Elasticsearch all run on the JVM.
  • Android: Kotlin is now the preferred language for new apps, but it runs on the same platform and works alongside a huge amount of existing Java code.
  • Cloud and microservices: Spring Boot services in containers on AWS, Azure and Google Cloud.

Java in campus hiring

For students in India, Java matters for a very practical reason: it is one of the languages almost every campus coding round accepts. Service companies such as TCS, Infosys, Wipro and Accenture hire freshers in large numbers for Java projects, and contests like TCS CodeVita allow C, C++, Java or Python. If you know Java well, you can sit the coding round in it and be ready for the project you are likely to join.

What to learn first: a practical order

  1. Core Java: variables and types, control flow, methods, classes and objects, inheritance and interfaces.
  2. Collections and exceptions: List, Map, Set, and handling errors properly.
  3. Modern Java: lambdas and the Streams API (Java 8), records and var, then pattern matching.
  4. SQL and databases: write queries and joins first, then connect to a database from Java with JDBC and JPA/Hibernate.
  5. Spring Boot: build REST APIs, the skill most Java job descriptions ask for.
  6. Tools around the code: Git, Maven or Gradle, unit tests with JUnit, and the basics of Docker.
  7. Full stack (optional): a front-end framework such as React or Angular to build complete applications.

Learn on an LTS version (Java 21 or Java 25). Most companies run LTS releases, and everything you learn there carries forward.

Java or Python first?

Both are good first languages. Python is quicker to start with and dominates data science and AI scripting; Java is stricter, which teaches structure early, and it leads in enterprise back-ends and service-company hiring. If you are aiming for campus placements and back-end roles, start with Java. If you are heading towards data and AI, start with Python. Many developers end up using both.

Learn Java with a live batch

If you would rather learn with a trainer than alone, our Java Full Stack + Generative AI Developer Program starts on 16 November. It covers core Java, Spring Boot, databases, a front end and how to add generative AI features to Java applications, with live online sessions and hands-on projects.

More than thirty years after the Green Project, Java is still one of the safest bets in software development, and one of the most useful languages to learn first.

Enjoyed this article? Get the best GeeksArray articles in your inbox — once a week, no spam, unsubscribe anytime.

Comments (0)

Log in to join the conversation.

No comments yet — be the first to share your thoughts.