Java 9におけるJDKとJREのディレクトリ構造を徹底解説
Java 9では、JDKとJREのディレクトリ構造はほぼ同じですが、JDKにはjmodsとincludeという2つの追加ディレクトリが存在し、さらにJDK 9には従来のようなJREサブディレクトリが含まれていない点が大きな違いです。
JDKディレクトリは、JDKソフトウェアをインストールする際のルートディレクトリです。このディレクトリには、copyright(著作権情報)、readme、そしてJavaプラットフォームのソースコードアーカイブであるsrc.zipファイルなども含まれています。
JDKのディレクトリ構造
JDK-9 ├─ bin ├─ conf ├─ include ├─ jmods ├─ legal └─ lib
- JDK/bin:イメージにリンクされたモジュールによって定義される実行ファイルやコマンドラインランチャーが格納されています。
- JDK/conf:開発者、デプロイ担当者、エンドユーザーが編集することを想定した.propertiesや.policyなどの設定ファイルが含まれています。
- JDK/lib:ランタイムシステムの内部実装の詳細が含まれています。これらのファイルは外部での利用を想定しておらず、変更してはいけません。
- JDK/jmods:コンパイル済みのモジュール定義が格納されています。Java 9で導入されたモジュールシステム(Project Jigsaw)に関連する重要なディレクトリです。
- JDK/legal:各モジュールのcopyright(著作権)およびlicense(ライセンス)ファイルが含まれています。
- JDK/include:JNI(Java Native Interface)やJVMデバッガーインターフェースを利用したネイティブコードプログラミングをサポートするためのC言語ヘッダーファイルが含まれています。
JREディレクトリは、JREソフトウェアをインストールする際のルートディレクトリです。このディレクトリにはreadmeやその他のJRE関連フォルダが含まれています。
JREのディレクトリ構造
JRE-9 ├─ bin ├─ conf ├─ legal └─ lib
- JRE/bin:イメージにリンクされたモジュールによって定義される実行ファイルやコマンドラインランチャーが格納されています。
- JRE/conf:開発者、デプロイ担当者、エンドユーザーが編集することを想定した.propertiesや.policyなどの設定ファイルが含まれています。
- JRE/lib:ランタイムシステムの内部実装の詳細が含まれています。これらのファイルは外部での利用を想定しておらず、変更してはいけません。
- JRE/legal:各モジュールの著作権およびライセンスファイルが含まれています。
JDKとJREの主な違いまとめ
- JDKにはjmodsとincludeの2つのディレクトリが追加されており、モジュール開発やネイティブコード連携が可能です。
- Java 9以降のJDKには、以前のバージョンのようなJREサブディレクトリが存在しません。
- JREはJavaアプリケーションの実行に必要な最小限の環境を提供し、JDKは開発用ツール一式を含んでいます。
-
JREとJDKの違いは何?Java開発初心者向けにわかりやすく解説
Javaを学び始めると、必ず耳にするのが「JDK」と「JRE」という2つの用語です。名前が似ているため混同されやすいのですが、それぞれ役割や含まれる機能が異なります。この記事では、両者の違いを初心者にもわかりやすく解説します。 JDK(Java Development Kit)とは JDKは「Java Development Kit」の略で、Javaアプリケーションの開発と実行に必要なすべてのツールおよびライブラリをまとめたソフトウェアパッケージです。 JDKには以下のようなものが含まれています。 コンパイラ(javac):ソースコード(.javaファイル)をバイトコード(.classファイ
-
JavaとJavaScriptの違いとは?歴史・技術・使い分けを徹底解説
ウェブ開発者のジェレミー・キースは2009年、「JavaとJavaScriptの関係は、ハムとハムスターの関係のようなものだ」と語りました。この比喩がどれほど正確かは議論の余地がありますが、その本質は的確です。共通する言語的ルーツを持つにもかかわらず、JavaとJavaScriptはまったく異なる2つのプログラミング言語なのです。年月とともに両者の重なりも多少増えましたが、今なおJavaScriptはウェブサイトにインタラクティブ性をもたらすフロントエンド言語の主流であり続け、Javaはサーバーサイドやアプリケーション開発で人気を保っています。開発者を採用したい方、プログラミングを学びたい方