What is Java and Its History: The Complete Timeline (2026 Update)

From the 1991 Green Project to JDK 28, the complete history of Java, with verified dates, version milestones, and what's coming next in 2027.

What is Java and Its History: The Complete Timeline (2026 Update)

--Ads--

From the 1991 Green Project to JDK 28, the complete history of Java, with verified dates, version milestones, and what's coming next in 2027.

What is Java and its history?

What is Java and Its History: The Complete Timeline From Oak to Java 28 (2026 Update)

What started as just a side project of Sun Microsystems to create a language that could run across consumer systems and computers irrespective of the underlying operating system has finally become the tech world’s most dominant language in the past three decades. From its first public launch way back in 1995 to its 3-decade-long rise and dominance as the de facto enterprise software language, Java’s history alone can reflect many of the major shifts in the tech world. 

As an aspiring Java developer, having a solid grasp of this history and the tweaks and turns that the language went through is extremely important. More than just timelines, this brief history will provide an idea of how the language evolved over the years.

What is Java?

Java is a high-level object-oriented programming language developed by Sun Microsystems (Now Oracle now owns Java), now it is being used for development of enterprise applications, cloud applications, mobile applications and web services. Though it is associated with the World Wide Web, it is older than the origin of the Web. It was only developed keeping in mind the consumer electronics and communication equipment. It came into existence as a part of web application, web services and a platform independent programming language in the 1990s.

Earlier, C++ was widely used to write object oriented programming languages, however, it was not a platform independent and needed to be recompiled for each different CPUs. A team of Sun Microsystems including Patrick Naughton, Mike Sheridan in the guidance of James Goslings decided to develop an advanced programming language for the betterment of consumer electronic devices. They wanted to make new software based on the power of networks that can run on different application areas, such as computers and electronic devices. In the year 1991 they made platform independent software and named it Oak. But later due to some patent conflicts, it was renamed as Java and in 1995 the Java 1.0 was officially released to the world.

Java is influenced by C, C++, Smalltalk and borrowed some advanced features from some other languages. The company promoted this software product with a slogan named “Write Once Run Anywhere” that means it can develop and run on any device equipped with Java Virtual Machine (JVM). This language is applicable in all kinds of operating systems including Linux, Windows, Solaris, HP-UX etc.

How Java Was Started? The Reasons Sun Microsystems Felt the Need for a New Language

Sun Microsystems, founded on February 24, 1982, by Scott McNealy, Vinod Khosla, Andy Bechtolsheim, and Bill Joy, was mostly involved in developing Unix-based workstations. But the quest to build a new language came from an entirely different source.

At the beginning of the 1990s, there were increasing demands for digital convergence or platform-independent solutions that could run across different appliances. Many tech thinkers spotted this demand for software that can run across consumer devices like televisions, telephones, and set-top boxes, just the way software is run in computers. But regular languages like C and C++ cannot work in a platform-independent manner across different systems, and these languages are extremely prone to memory-management errors that can put these devices at extreme risk.

To mitigate this gap, the tech world needed a new language that could swiftly allow convergence across computers and other appliances. This promise is what has been realized over the years by Java, and has eventually made it the most versatile programming language.

What is Java and its history?

1991–1994: The Green Project and Oak, Java’s Predecessor

In June 1991, the engineering teams at Sun Microsystems, which included James Gosling, Mike Sheridan, and Patrick Naughton, started the Green Project to create a new language and runtime environment that could run across embedded systems and consumer-facing devices. They aimed to design a small, reliable, and, most importantly, platform-independent language. Gosling built a new language core. It was named Oak, reportedly after an oak tree visible outside Gosling's office window.

The new language exceeded the project's original scope with its impressive output. By September 2, 1992, they came up with not just a language but also backed it with an entire working demo. This new working demo, named Star-7, was a handheld touchscreen device. The device's graphic animated interface was used to control a simulated smart home. With the promising output, this Green Project was rebranded as a subsidiary of Sun Microsystems, called FirstPerson, Inc. The team behind the new language Oak tried to bag a new contract that would allow them to develop software for an interactive cable TV set-top box with Time Warner. That deal and the ambitious project of an interactive TV set-top box did not materialize. 

But something else was waiting for the new language to become a generation-defining success. Though nobody from the original team behind Java had any idea of it, the emergence of the World Wide Web was likely to make this language a cornerstone of a new connected world. Though the World Wide Web was still in its nascent stage just after the release of the Mosaic browser in 1993, it was generating huge attention from across the industries.

The Green Project team or the team behind the new language, saw that the World Wide Web shares the same core properties that they aimed for when leveraging the language in consumer device interfaces. These core properties, such as portability, safety, and small footprint, were also the requirements for the web to function seamlessly. No wonder, by using the new language, Patrick Naughton and Jonathan Payne developed a web browser called HotJava and demonstrated the entire idea to the world. They showed that this browser program is capable of running small downloadable programs across multiple devices.

At this juncture, there was a legal dispute about the name of the new language. The Oak language, which was already trademarked by Oak Technologies, could not be used anymore. So the original team headed by Gosling deliberated on a new name, and eventually they landed on the name "Java". The new name was inspired by the coffee the developers used to consume during their discussions on the name. The final name Java was chosen from a shortlist of names that also included names like DNA or Silk.

1995–1996: Java’s Public Launch and the "Write Once, Run Anywhere" Slogan

Sun Microsystems, during its SunWorld conference in 1995, introduced Java to the public. The company also unveiled the HotJava browser at the same event. During its launch, they coined a slogan for Java that would become its hallmark and core identity for the years to come. This slogan was "Write Once, Run Anywhere." The slogan perfectly pitched the core value proposition of Java. You compile the code of the program once, and then run the same compiled code across any device equipped with a Java runtime. A Java program will run on any device regardless of the underlying operating system.

But still, Java’s recognition as an industry-wide phenomenon was due. That moment arrived when Netscape announced it would provide out-of-the-box Java support for its already popular Navigator browser. It was an era when web browsers were the most popular software programs for computers. Naturally, Java being integrated into a widely popular browser program gave it wider exposure. Soon, Microsoft started to provide Java support with its Internet Explorer browser. Thus Java’s status as the pioneering cross-platform language was established.

The first official version of the Java Development Kit (JDK), JDK 1.0, was shipped on January 23, 1996. In 1997, the JDK 1.1 was shipped, and it came with additions like inner classes, JavaBeans, JDBC for database connectivity, and RMI for remote method invocation. These two versions of Java laid the foundation to propel Java’s role as the most reliable language for enterprise systems.

1998–2004: Java 2 and the Enterprise Era

The next major release that would solidify Java’s enterprise role was J2SE 1.2, released in December, 1998. Sun Microsystems rebranded this as Java 2 and decided to divide the entire ecosystem into three separate editions. These three distinct editions will continue to define Java's # structure for the decades to come. Let’s have a quick summary of these three editions.

  • J2SE, which is the Standard Edition, was released for general-purpose applications,
  • J2EE is the Enterprise Edition and was launched for large-scale, distributed business applications.
  • J2ME is the Micro Edition, which is designed for any device with limited resources.

The same release also came up with two important additions, such as the Swing GUI toolkit and the Java Collections Framework. Both continued to remain key parts of the Java platform for decades to come..

In 2000, the J2SE 1.3 version was launched with performance improvements via the HotSpot JVM. In 2002, we had J2SE 1.4, and it offered several important value additions like assertions, NIO (New I/O), and regular expression support. J2SE 1.4 also introduced a formal community-driven specification process backed by the Java Community Process (JCP).

J2SE 5.0, the next release in 2004, which was rightly called ‘Tiger’ in the internal communication of the Java team, is considered to date to be one of the landmark releases with several major consequential impacts. Some of the major features and capabilities J2SE 5.0 introduced include generics, enhanced for-loops, autoboxing/unboxing, varargs, annotations, and enumerated types. These changes signified such a leap for Java that it broke its existing version numbering protocol and referred to it as 5.0, straight from 1.4, the preceding version.

2006–2009: Java Becoming an Open-Source Platform

Java SE 6 was released in 2006. In the same year, the company started to consider releasing Java as an open-source SDK. This resulted from the demands of the larger open-source community echoed by several voices within Sun Microsystems.

Ultimately, the OpenJDK project was released in 2007 under the GPL with a Classpath Exception. This typical licensing structure was conceived to enable developers to develop both open-source and proprietary applications on top of the core libraries of Java. The launch of OpenJDK shaped the future trajectory of the language in many ways. Today, the fact that many companies, including Amazon (Corretto), Eclipse (Temurin), Azul (Zulu), and several others, offer their own fully compatible Java distributions is a direct result of the launch of this OpenJDK project.

Through all these developments, Java became the most important and future-defining offering of Sun Microsystems. This was visible with the change of the Nasdaq stock ticker symbol from ‘SUNW’ to just ‘JAVA.’ in 2007.

2009–2010: The Acquisition of Sun Microsystems by Oracle

On 20th April, 2009, the news broke out about the mammoth acquisition intent of Sun Microsystems by Oracle Corporation against an approximate value of $7.4 billion. Several months of delay followed, due to concerns over what Oracle Corporation would do with another platform, MySQL, which was also a Sun Microsystems offering and a part of the deal. Finally, the acquisition was completed on January 27, 2010.

This acquisition also marked the passing of the baton from a company known for promoting open-source platforms to a company distinctly known for its licensed enterprise software. Naturally, the shift will be seen through Java governance. The most prominent example of this shift is visible through the high-stakes legal dispute between Oracle and Google over the latter’s use of Java APIs in Android.

2011–2017: New Java Era Under Oracle

After Oracle’s acquisition, the first JDK version that was released was Java SE 7. Released in July 2011, it only introduced a few small features like try-with-resources and the diamond operator for generics.

Under Oracle Corporation's stewardship, the biggest Java release was Java SE 8. Released in March 2014, it is widely considered to be the most promising JDK version since generics were introduced with Java 5. Two of the major and transformative new features it brought to the table include lambda expressions and the Stream API. The impact was obvious, as for the first time functional-style programming was introduced into a language that has been predominantly object-oriented for all these years. Another interesting feature that was introduced by Java 8 is modern Java. time date and time API. This new API helped address the frequently seen errors committed by the Date and Calendar classes of Java. No wonder, Java 8 was such a major release that many enterprises continued to stick to it even after new and latest releases of Java were launched. Even today, many enterprise systems are stuck with Java SE 8.

With the release of Java 9, Java moved to modularity. Released on 21st September, 2017, offered the Java Platform Module System through Project Jigsaw. The new modular platform allows developers to explicitly declare dependencies between modules and the demand for an internal modular structure within the JDK.

2017 is also the year when Oracle built a new Eclipse Foundation for stewarding Java Enterprise Editions (Java EE). Since Oracle wanted to retain the Java trademark, the enterprise edition platform was renamed as Jakarta EE. This also made it obvious that packages migrate from javax.* namespace to jakarta.*. This change has contributed to concerns about migrating older enterprise codebases.

0

2018–Present: The Six-Month Release Cadence & the LTS Era

With the launch of Java 10 in March 2018, Oracle introduced a new six-month cycle of feature releases. While two subsequent releases are likely to be only short-term feature releases, the third release, scheduled roughly every two years, will be designated as a Long-Term Support (LTS) version. This LTS version will enjoy long-term support commitment from vendors.

This introduction of the six-month feature release and two-yearly LTS release cadence was paired with a shift in licensing as well. While the JDK builds from Oracle are commercially licensed for use in production environments, there are also free, fully open OpenJDK builds for the larger developer community. These new licensing norms confused the entire Java developer community for the next two years. 

Under the new licensing model and release cadence, Java 11 was launched in September 2018. The next LTS release was Java 17 in September 2021. LTS 17 also introduced sealed classes and at last ensured the long-awaited removal of the Applet API. Java 21, released in September 2023, introduced one of the most crucial runtime changes after Java 8, called virtual threads. Virtual threads as a feature have been worked on for years under Project Loom. The same Java 21 version also introduced record patterns and pattern matching for switch. All these changes were aimed at helping developers write Java code for high-concurrency applications. Thanks to these new features, now developers can write code for concurrently running systems while maintaining the same readable, blocking-style syntax that Java is known for.

1

The next release, Java 25, launched in September 2025, is the currently running LTS version. Most development teams for production environments have standardized on Java 25. The next release, Java 26, launched in March 2026, was only a short-term feature release. Java 26 introduced preview capabilities via the Vector API. This preview feature and the Vector API were primarily designed to improve AI inference in applications. Java 26 also introduced support for HTTP/3 in the HTTP Client API and enforced immutability of the final fields.

The Future Ahead: JDK 27 and JDK 28 (2026–2027)

As the next Java releases, both JDK 27 and Java 28 are already in the pipeline. While Java 27 is scheduled to be released on 15th September, 2026, JDK 28 is scheduled for release in March 2027.

Three major features are likely to be a part of the JDK 28 release. These three officially targeted features include value objects (JEP 401), generational mode by default for the Shenandoah garbage collector (JEP 535), and strict field initialization in the JVM (JEP 539). 

2

The Complete Java Version Timeline

Java Versions Release Table

Java Version Release Date Type Key Features / Highlights
Java 1.0 January 1996 Regular Initial Java release
Java 1.1 February 1997 Regular Inner classes, JDBC, RMI, JavaBeans
Java 1.2 December 1998 Regular Collections Framework, Swing, JIT
Java 1.3 May 2000 Regular HotSpot JVM, JNDI, Java Sound
Java 1.4 February 2002 Regular Assertions, regular expressions, NIO, XML
Java 5 (1.5) September 2004 Major Generics, annotations, enums, autoboxing, enhanced for-loop
Java 6 December 2006 Regular Scripting API, JDBC 4.0, performance improvements
Java 7 July 2011 Regular Try-with-resources, diamond operator, switch on String, NIO.2
Java 8 March 2014 LTS Lambda expressions, Stream API, functional interfaces, default methods
Java 9 September 2017 Regular Java Platform Module System (JPMS), JShell
Java 10 March 2018 Regular Local variable type inference (var)
Java 11 September 2018 LTS HTTP Client API, var in lambda parameters, Flight Recorder
Java 12 March 2019 Regular Switch expressions (preview), Shenandoah GC
Java 13 September 2019 Regular Text blocks (preview), switch expressions improvements
Java 14 March 2020 Regular Records (preview), pattern matching for instanceof (preview)
Java 15 September 2020 Regular Text blocks, sealed classes (preview)
Java 16 March 2021 Regular Records, pattern matching for instanceof
Java 17 September 2021 LTS Sealed classes, enhanced pattern matching, strong encapsulation
Java 18 March 2022 Regular UTF-8 by default, Simple Web Server
Java 19 September 2022 Regular Virtual threads (preview), structured concurrency (incubator)
Java 20 March 2023 Regular Virtual threads and pattern matching improvements
Java 21 September 2023 LTS Virtual threads, Sequenced Collections, Record Patterns, Pattern Matching for switch
Java 22 March 2024 Regular Foreign Function & Memory API, Stream Gatherers (preview)
Java 23 September 2024 Regular Primitive types in patterns (preview), Stream Gatherers (preview)
Java 24 March 2025 Regular Performance, JVM, language and library enhancements
Java 25 September 2025 LTS Latest LTS generation with continued language, JVM and library improvements
Java 26 March 2026 Regular Modern Java language, JVM, GC and API enhancements
Java 27 September 2026* Regular Expected next feature release
Java 28 March 2027* Regular Expected future feature release

*Future releases are based on Java's six-month release cadence.

3

Java LTS Versions

LTS Version Release Approx. Support Significance
Java 8 2014 Widely used legacy LTS
Java 11 2018 Major enterprise LTS
Java 17 2021 Major modern enterprise LTS
Java 21 2023 Current-generation enterprise LTS
Java 25 2025 Newer LTS generation

Note: Oracle/OpenJDK releases now follow a predictable six-month release cycle, with a new feature release around March and September each year.

Final Thoughts

If you look at the entire history of Java from being a side project to its rise to global dominance as an enterprise system language, the way it converged with multiple technological shifts of our era becomes imminent. While the core principle of being a platform-independent language is what contributed most to Java’s success, at the same time it continued to evolve with modern programming concepts. Many changes and new approaches that helped structural changes in Java came in the later years, such as modularization, functional programming, virtual threads, and now value objects. As the new features of the upcoming JDK 28 have already started making headlines, Java still seems to be driven by the same unquenching thirst for innovation.

Start learning Java programming language from our Java Programming Tutorials Section.

4