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.
- Java sourceWrite the program
- BytecodeCompile with the JDK
- Java Virtual MachineRun on a compatible system
A language that keeps evolving
- 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.
- 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.
- 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.
- 2017 · Java 9
The module system added a way to describe dependencies and boundaries explicitly. JShell made it possible to experiment interactively.
- 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.
| Provider / community | Distribution and downloads |
|---|---|
| Eclipse Adoptium | Eclipse Temurin ↗ |
| Oracle | Oracle JDK ↗ |
| Amazon Web Services | Amazon Corretto ↗ |
| Azul | Azul Zulu ↗ |
| BellSoft | Liberica JDK ↗ |
| Microsoft | Microsoft Build of OpenJDK ↗ |
| IBM | IBM Semeru Runtimes ↗ |
| Red Hat | Red 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
- Learn Java ↗
Official tutorials, from the first application to collections, streams and modern language features.
- Java SE 27 API documentation ↗
The reference for the standard library, organised by module and package.
- OpenJDK and JDK Enhancement Proposals ↗
Follow proposals, their status and the reasons behind changes to the platform.
- Inside Java ↗
News, explanations and discussions from the Java team at Oracle.
Coming soon
Open-source Java projects
My open-source Java projects will appear here soon, with source-code links and documentation to help you explore how they work.
Projects have not been published here yet. This section will grow as they become available.