OpenJDK
By Oracle and the OpenJDK community
OpenJDK is the free and open-source reference implementation of the Java Platform, Standard Edition, providing the Java compiler, class libraries, and Java Virtual Machine that most other Java distributions are built from. Released under…
Definition
OpenJDK is the free and open-source reference implementation of the Java Platform, Standard Edition, providing the Java compiler, class libraries, and Java Virtual Machine that most other Java distributions are built from. Released under the GNU General Public License, it serves as the common upstream codebase from which vendors such as Amazon, Azul, Eclipse Adoptium, and Oracle itself produce their own certified, supported Java runtime builds.
Overview
OpenJDK exists because the Java platform, despite being specified through the formal Java Community Process, needed a single, openly licensed codebase that anyone could build, audit, and ship without depending on a single vendor's proprietary distribution. Oracle open-sourced the core Java SE implementation as OpenJDK, and it has since become the shared foundation underlying nearly every Java runtime in active use, whether that runtime carries Oracle's own branding or a third party's. Structurally, OpenJDK consists of the javac compiler that turns Java source into JVM bytecode, the HotSpot virtual machine that executes that bytecode with just-in-time compilation and generational garbage collection, and the core class libraries that implement the Java SE specification's standard APIs. Development happens through a formal process of JEPs, JDK Enhancement Proposals, and OpenJDK ships on a strict six-month release cadence with designated long-term support versions that vendors commit to patching for years after the general release stream moves on. OpenJDK's relationship to other Java distributions is closer to a source than a competitor: Eclipse Temurin, Amazon Corretto, Azul Zulu, BellSoft Liberica, and SapMachine are all downstream builds of the same OpenJDK source code, differing mainly in their support commitments, patch cadence, included tooling, and the organizations that stand behind their certification and long-term maintenance. This differs from the JVM-hosted alternative-language runtimes like Jython and JRuby, which run on top of a JVM such as OpenJDK's HotSpot rather than being a JVM implementation themselves. In practice, OpenJDK builds run the overwhelming majority of production Java workloads, from enterprise backend services and Android's historical Java tooling to big data platforms like Hadoop and Spark that are themselves written in JVM languages. Organizations typically choose a specific OpenJDK-derived distribution rather than compiling OpenJDK from source themselves, picking a vendor based on which long-term support version they need, what patch and security update cadence they require, and whether they want commercial support behind the build. The main consideration for teams is not whether to use OpenJDK, since nearly all Java runtimes derive from it, but which downstream distribution and which release line to standardize on, since long-term support versions receive years of security patches while non-LTS releases move to end-of-life within months of the next release, and mismatched version choices across a fleet of servers can create real operational and compatibility risk. Compatibility testing across a chosen version also matters because third-party libraries and application servers frequently pin minimum or maximum supported Java versions, so upgrading an OpenJDK-derived runtime is rarely a drop-in change for a large codebase.
Key Features
- Provides the reference implementation of the Java SE specification
- Includes the javac compiler and the HotSpot virtual machine
- Released under the GNU General Public License as open source
- Follows a strict six-month release cadence with LTS versions
- Serves as the upstream source for most other Java distributions
- Implements just-in-time compilation and generational garbage collection
- Developed through the formal JDK Enhancement Proposal process
- Supports the core class libraries used by the Java SE ecosystem