Java · Language & ecosystem

Java.
Still evolving.

From its beginnings at Sun Microsystems to modern Java, the JDK ecosystem and the projects still to come.

Java has been part of my own programming journey for many years. What continues to interest me is the combination of a clear language, a substantial set of libraries and an ecosystem that keeps moving forward.

From Oak to Java

Java began at Sun Microsystems in the early 1990s. James Gosling and colleagues worked on a language originally called Oak, with consumer electronics among its early ambitions. Java was introduced publicly in 1995, just as the web was finding a much wider audience. Oracle’s illustrated history of Java traces those beginnings.

The central idea was portability: compile a program to bytecode, then run that bytecode on a compatible Java Virtual Machine (JVM). The JDK, or Java Development Kit, provides the compiler, runtime and development tools. The language, the virtual machine and the libraries together form a platform.

  1. Java sourceWrite the program
  2. BytecodeCompile with the JDK
  3. Java Virtual MachineRun on a compatible system

A language that keeps evolving

  1. 1995–1998 · A portable platform takes shape

    The public debut was followed by the first JDK and a growing library ecosystem. Java 2, released in 1998, helped establish a broader platform for applications.

  2. 2004 · Java 5

    Generics, annotations, enums and the enhanced for loop made everyday code more expressive and gave developers better ways to describe types and intent.

  3. 2014 · Java 8

    Lambda expressions and the Stream API introduced a more functional way to process data. The modern date and time API also made an important practical difference.

  4. 2017 · Java 9

    The module system added a way to describe dependencies and boundaries explicitly. JShell made it possible to experiment interactively.

  5. Modern Java

    Records, sealed classes and pattern matching help describe data and alternatives more directly. Virtual threads, finalised in Java 21, offer a different way to handle large numbers of concurrent tasks.

These changes arrived across several releases, often after preview stages. For the precise status of language features, see Oracle’s language changes overview. For concurrency, see the virtual threads guide on dev.java.

Where Java stands today

Version information checked on 21 October 2026.

Java 27 is the current feature release; Java 25 is the latest release designated for long-term support by Oracle. Java now follows a six-month feature-release cycle. Long-term support is provided by JDK vendors, so the update period and support arrangements depend on the distribution you choose. See Oracle’s current releases and support roadmap.

Java is used for server applications, business systems, desktop tools and many other kinds of software. Its evolution is about more than adding syntax: the runtime, garbage collectors, startup behaviour and developer tools continue to improve as well. The OpenJDK project is the open-source home of the Java SE implementation, with contributions from many organisations and individuals.

One platform, several JDK providers

A JDK distribution packages an implementation of the Java platform. Many providers build on OpenJDK, while packaging, supported systems, runtime choices and update policies can differ. These are different distributions, rather than separate programming languages.

JDK distributions and their official websites
Provider / communityDistribution and downloads
Eclipse AdoptiumEclipse Temurin ↗
OracleOracle JDK ↗
Amazon Web ServicesAmazon Corretto ↗
AzulAzul Zulu ↗
BellSoftLiberica JDK ↗
MicrosoftMicrosoft Build of OpenJDK ↗
IBMIBM Semeru Runtimes ↗
Red HatRed Hat build of OpenJDK ↗

OpenJDK builds are also available through jdk.java.net. Before selecting a distribution, check its supported Java versions, operating systems, update policy and licence on the provider’s own website.

Explore Java further