工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

JDK、JRE、JVMの違いと連携を徹底解説

Java Development Kit (JDK)とは

JDKは、開発者がJavaアプリケーションの作成、コンパイル、デバッグ、実行を行うための包括的なツールキットです。Javaコンパイラ(javac)、コアクラスライブラリ、デバッガやJavaDocなどの開発ツール一式が同梱されています。Windows、macOS、Linux、Solarisで利用可能で、複数バージョンを同一マシンに共存させられます。

Java Runtime Environment (JRE)とは

JREは、コンピュータでJavaプログラムを実行するためのランタイムパッケージです。Java Virtual Machine (JVM)、コアライブラリ、サポートファイルがバンドルされています。開発を行わないエンドユーザーは、フルJDKの代わりにJREのみをインストールできます。

Java Virtual Machine (JVM)とは

JVMは、Javaバイトコードをネイティブマシン語に解釈またはJITコンパイルするエンジンです。Javaプラットフォームの核であり、プラットフォーム非依存の実行、メモリ管理、セキュリティを提供します。

なぜJDKを使うのか

なぜJREを使うのか

なぜJVMを使うのか

JDKの主な機能

JREの主な機能

JVMの主な機能

JDKの仕組み

JDK、JRE、JVMの違いと連携を徹底解説

JDKはJREを内包し、開発ツールを追加しています。開発者がコードを書き、javacでバイトコードにコンパイルし、Javaランチャー(java)がJVMを起動してプログラムを実行します。

JREの仕組み

JDK、JRE、JVMの違いと連携を徹底解説

JREはJVM、クラスローダ、ランタイムライブラリを含みます。プログラム起動時、JVMがクラスをロードし、バイトコードを検証し、インタプリタまたはJITコンパイラで実行します。

JVMの仕組み

JDK、JRE、JVMの違いと連携を徹底解説

JVMの主要コンポーネント:

JDK、JRE、JVMの比較

コンポーネント 正式名称 目的 プラットフォーム依存性 含まれるツール
JDK Java Development Kit Javaアプリケーションの完全な開発環境 プラットフォーム依存 コンパイラ、デバッガ、JavaDocなど
JRE Java Runtime Environment コアライブラリとJVMを提供し、Javaアプリケーションを実行 プラットフォーム依存 なし(ランタイムのみ)
JVM Java Virtual Machine Javaバイトコードを実行。プラットフォーム非依存ランタイムを提供 プラットフォーム依存(実装による) なし(実行エンジンのみ)

Java

  1. Javaロギングのマスターガイド:信頼性の高いコードのための必須ベストプラクティス
  2. JavaのJDK、JRE、JVMを理解する:違いを徹底解説
  3. Java演算子をマスター:種類、構文、実践例
  4. Javaコメント:種類、使い方、ベストプラクティス
  5. Java if…elseをマスター:制御フローを徹底解説
  6. Java拡張forループをマスター:構文、例、ベストプラクティス
  7. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
  8. Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
  9. Javaアノテーション完全ガイド:種類、配置場所、実践例
  10. Java 10でJDKフォレストを単一リポジトリに統合
  11. Java 10のスレッドローカルハンドシェイク:VMセーフポイント高速化でパフォーマンス向上