Overview
openjdk/jdk is the official repository for JDK main-line development in OpenJDK. Its `src` tree contains the HotSpot VM, Java SE modules such as `java.base`, compiler-related modules, and the rest of the implementation that ships as a JDK. As of September 15, 2026, master targets JDK 28 Early Access, so this repository is best understood as the upstream development line for the next JDK rather than simply a place to download a production Java runtime.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Follow HotSpot, Java SE modules, and compiler implementation in one source tree
The repository's src tree includes hotspot, java.base, java.compiler, and many other modules. That makes it possible to inspect changes at the boundaries of the VM, core libraries, compiler infrastructure, and JDK tools instead of treating each piece as an unrelated project. It is primary-source material for following Java language implementation, GC/JIT work, standard APIs, security/networking/desktop modules, and compiler behavior.
The project documents a reproducible path from configure to a built JDK and tier-1 tests
The official build guide gives a short path of bash configure, make images, verifying the generated java -version, and running make test-tier1. Mainline supports Linux, macOS, AIX, and Windows, with Windows requiring a POSIX compatibility layer such as Cygwin, MSYS2, or WSL. This makes local JDK implementation changes buildable and testable rather than leaving the repository as reference-only source.
Sources: [4]
Version configuration makes the active mainline target explicit
make/conf/version-numbers.conf currently sets DEFAULT_VERSION_FEATURE=28 and DEFAULT_PROMOTED_VERSION_PRE=ea, with a target date of 2027-03-23, class-file major version 72, and accepted boot JDK versions 26, 27, and 28. That metadata is important when interpreting master: it is a JDK 28 Early-Access development line, not the same thing as the currently deployed stable JDK on a production system.
Sources: [5]
Best suited to JDK internals work, OpenJDK contribution, custom builds, and downstream patching
It fits engineers who need implementation-level answers about the VM, class libraries, or compiler; contributors following JDK bugs and feature work; and vendors or researchers building their own JDK images. Application teams that only need a Java runtime generally have a lower-operational-cost path through a prebuilt JDK distribution and the update line for their selected Java version.
Master is a development line, not a stable maintenance branch
The build documentation describes jdk as the main line currently in development. For older versions such as JDK 17, it strongly recommends an Updates repository such as jdk17u rather than the GA repository frozen at release. Production maintenance therefore needs an explicit version/update policy instead of treating master as a generic source for every JDK release.
Building the JDK is substantially heavier than building a normal Java library
The official guide calls the JDK a complex and massive project and strongly recommends SSD storage. It lists at least 2–4 cores, 2–4 GB RAM, and 6 GB free disk for x86, and 8 cores, 8 GB RAM, and 6 GB disk for AArch64. The current JDK 28 mainline also expects a boot JDK from versions 26, 27, or 28. Native compilers and other build dependencies are part of the toolchain.
GPL v2 and the Classpath Exception require license-aware redistribution
GitHub detects the repository as GPL-2.0, while the root LICENSE includes the GPL v2 text and the Classpath Exception. The exception is described as applying to certain source files, so modified redistribution or reuse of implementation source should verify the headers of the exact files involved and applicable third-party notices rather than assuming a single permissive rule across every file.
Official sources
- [1]openjdk/jdk — GitHub repository(2026-09-15)
- [2]openjdk/jdk — README(2026-09-15)
- [3]openjdk/jdk — src tree(2026-09-15)
- [4]OpenJDK — Building the JDK(2026-09-15)
- [5]openjdk/jdk — version-numbers.conf(2026-09-15)
- [6]openjdk/jdk — LICENSE(2026-09-15)
Supplemental curator note
We selected this repository as the upstream source for Java itself rather than as a binary JDK distribution. As of September 15, 2026, master targets JDK 28 EA; production teams should distinguish it from prebuilt distributions and the jdkXXu maintenance repositories for a chosen release.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/openjdk/jdk.git - 2
Enter the repository
cd jdk - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
23,347 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 459
- Open PRs
- 407
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- openjdk
- java
- jvm
- Stars
- 23,347
- Forks
- 6,445
- Watchers
- 366
- Open issues
- 0
- Primary language
- Java
- License
- GPL-2.0
- Repository last updated
- Sep 15, 2026
Explore next
- Go138,828 Stars
A simplicity-oriented language whose compiler, runtime, standard library, modules, and goroutine concurrency ship as one toolchain.
Go - Node.js121,945 Stars
An open-source, cross-platform JavaScript runtime for servers, command-line tools, and development tooling.
JavaScript - Rust118,904 Stars
A systems programming language using ownership and a rich type system to combine native performance with compile-time memory and thread safety.
Rust - CPython77,167 Stars
The source repository for developing Python's interpreter, standard library, build system, and tests.
Python - Swift70,348 Stars
A systems programming language combining memory safety, native performance, C/Objective-C interoperability, and cross-platform toolchains.
Swift
Report incorrect information
Tell us if any listing information is incorrect or outdated.