プロジェクト

全般

プロフィール

OpenJDK のソースコード

はじめに

OracleJDKは、OpenJDKプロジェクトのソースコードをベースに商用機能の付加、品質保証をしている製品です。
そのソースコードは、OpenJDKプロジェクトで公開されています。

入手

OpenJDKソースコード

GitHubから取得

最新版(masterブランチ)をクローンします。

D:\work> git clone https://github.com/openjdk/jdk.git

サイズは2GB強となりました。

サブディレクトリだけ取得

Git v2.26以降

最初にcloneする際、ファイルの実体(blob)をダウンロードせず、またワーキングツリーの展開もしない設定とします。

D:\work> git clone --filter=blob:none --no-checkout https://github.com/openjdk/jdk.git jdk_hsdis.git

サイズは170MBとなりました。

次に、リポジトリの一部分をチェックアウトするスパースチェックアウトを有効化します。

D:¥work> cd jdk_hsdis.git
D:\work\jdk_hsdis.git> dir /B

D:\work\jdk_hsdis.git> git sparse-checkout set src/utils/hsdis

D:\work\jdk_hsdis.git> dir /B

D:\work\jdk_hsdis.git> git checkout
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 17 (delta 2), reused 1 (delta 1), pack-reused 4 (from 1)
Receiving objects: 100% (17/17), 29.38 KiB | 213.00 KiB/s, done.
Resolving deltas: 100% (2/2), done.
Updating files: 100% (17/17), done.
Your branch is up to date with 'origin/master'.

D:\work\jdk_hsdis.git> dir /B
.editorconfig
.gitattributes
.gitignore
ADDITIONAL_LICENSE_INFO
ASSEMBLY_EXCEPTION
configure
CONTRIBUTING.md
LICENSE
Makefile
README.md
SECURITY.md
src

sparse-checkoutは、指定したサブディレクトリ以下のディレクトリ・ファイルのほか、ルート直下のファイルもチェックアウトされます。これは coneモードと呼びます。ルート直下(トップレベル)には、ライセンスや全体のドキュメントなどのファイルが保持されることが一般的だからです。

トップレベルのファイルを除外したい場合は、no-coneモードを指定します。
git sparse-checkout set --no-cone src/utils/hsdis

OpenJFXソースコード

OpenJDK Wiki - Main から、Getting Started > Building OpenJFX と辿ったページにソースコードの入手方法が記載されています。

# for 8u-dev the "stable" stream matching JDK8
hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt

# for the active development stream targeted for JDK9
hg clone http://hg.openjdk.java.net/openjfx/9-dev/rt

OpenJDKソースコードの解析

JDKツール

仕様

Features

OpenJDKの機能(Feature)は、JEPプロセスで管理されています。


15日前に更新