Javaクラスライブラリ
Javaクラスライブラリ(ジャバクラスライブラリ、JCL)はJavaアプリケーションが実行時に呼び出せる動的ロード可能なライブラリ群である。また、特にJREが提供している java.lang 名前空間他の基本的なクラスを含むライブラリを指すこともある。このライブラリがそれぞれのオペレーティングシステム (OS) あるいはプロセッサ (CPU) の固有機能やシステムライブラリなどを隠蔽して抽象化・標準化する吸収層として働くことで、JavaアプリケーションなどがOSなどのプラットフォームに直接依存することを避けられるようになっている。
JCLはJavaプラットフォーム内で次の3つの役割を担っている。
他の標準ライブラリと同様、コンテナクラス群や正規表現処理といったよく知られている便利な機能群をプログラマに提供する。
ネットワークアクセスやファイルアクセスといったハードウェアやOSに強く依存するタスクへの抽象インタフェースを提供する。
中には、Javaアプリケーションが期待している機能を完備していないプラットフォームも存在する。その場合、欠けている機能をこのライブラリでエミュレートしたり、特定機能の有無をチェックする一貫した方法を提供したりする。
2007年5月時点でオープンソース化できていなかった部分(OpenJDK 7 の4%)は次の通りである。
SNMP実装
オーディオエンジン全体。シンセサイザー部分も含め、後にオープンソースとなった。シンセサイザー部分はOpenJDKプロジェクトで Gervill と呼ばれるオープンソース版を新規開発した。
暗号関連クラス群は後にオープンソースとしてリリースされた。
フォントラスタライズと拡大縮小のコードは、オープンソースのFreeTypeで置換。
カラーマネージメントシステムは、オープンソースのLittleCMS(英語版)で置換。プラグイン可能なレイヤーがあるので、商用には本来のプロプライエタリなカラーマネジメントシステムを使うこともできる。
アンチエイリアス機能のあるグラフィックスラスタライザは、phoneME(英語版)プロジェクトで使っていたオープンソースのPiscesを採用。
JavaScriptプラグインはオープンソース化された(JavaScriptエンジンRhino自体は元からオープンソースである)。