検索
ホームページJava&#&チュートリアルJava環境におけるJDK、JVM、JREの詳細な紹介

Java 環境における JDK、JVM、JRE

私は最近 Android を過小評価しており、JDK、JVM、JRE、SDK、NDK、ADT などの概念がたくさん頭に浮かびました。しばらくすると、JDK、JVM、JRE は Java 環境用のものになり、SDK、NDK、ADT は Android 開発用のものになります。 JDK、JVM、JRE を区別してみましょう。

ヒント: Mac に Java をインストールした後、どこにありますか?下の図を参照してください

Java環境におけるJDK、JVM、JREの詳細な紹介

まず、JDK について話しましょう

JDK (Java Development Kit) は、 Java 言語)。

JDK は、Java ランタイム環境 (Java Runtime Envirnment)、一連の Java ツール (javac/java/jdb など)、および基本的な Java クラス ライブラリ (つまり Java API) を含む JAVA 全体の中核です。

以下の 3 つのバージョンがあります:

SE (J2SE)、スタンダード エディション、スタンダード エディションは、JDK 5.0 から Java SE に名前が変更されました。

EE(J2EE)、エンタープライズエディション、エンタープライズエディションは、このJDKを使用してJ2EEアプリケーションを開発します。 JDK 5.0からは、Java EEに名前が変更されました。

マイクロエディションであるME(J2ME)は、主にモバイルデバイスや組み込みデバイス上のJavaアプリケーションに使用され、JDK 5.0からJava MEに名前が変更されました。

JRE について話しましょう

JRE は Java Runtime Environment (Java Plug-in を含む) の略称で、Sun の製品であり、Java Runtime Environment と Java Plug-in の 2 つの部分で構成されます。 Java ランタイム環境 (JRE) は、アプリケーションを実行、テスト、配信できる Java プラットフォームです。これには、Java 仮想マシン (jvm)、Java コア クラス ライブラリ、およびサポート ファイルが含まれます。開発ツール (JDK) (コンパイラー、デバッガー、その他のツール) は含まれません。 JRE では、ブラウザでアプレットを実行するために補助ソフトウェア (Java プラグイン) が必要です。

JDK がなければ Java プログラムをコンパイルすることはできませんが、JRE 環境を備えたシステム上ではプログラムを実行できます。したがって、Java プログラムまたはアプレットを実行する必要がある場合は、JRE をダウンロードしてインストールします。 Java ソフトウェアを自分で開発したい場合は、JDK をダウンロードしてください。

最後にJVMについて学びましょう

JVMとは、Java仮想マシンのことで、実際のコンピュータの機能を模擬する架空のコンピュータです。
Java 言語の非常に重要な特徴は、プラットフォームから独立していることです。この機能を実現するには、Java 仮想マシンの使用が鍵となります。一般的な高級言語を異なるプラットフォームで実行したい場合は、少なくとも異なるターゲット コードにコンパイルする必要があります。 Java 言語仮想マシンの導入後は、別のプラットフォームで実行するときに Java 言語を再コンパイルする必要はありません。 Java 言語は、Java 仮想マシンを使用して特定のプラットフォームに関連する情報をシールドします。そのため、Java 言語コンパイラは、Java 仮想マシン上で実行されるターゲット コード (バイトコード) を生成するだけでよく、変更することなく複数のプラットフォーム上で実行できます。 。 Java 仮想マシンはバイトコードを実行するときに、そのバイトコードを特定のプラットフォームで実行するためのマシン命令に解釈します。これが、Java が「一度コンパイルすれば、どこでも実行できる」理由です。

これは 3 つの間の関係図です:

Java環境におけるJDK、JVM、JREの詳細な紹介

私たちの開発の実際の状況は次のとおりです: JDK を使用して (JAVA API を呼び出し)、独自の JAVA プログラムを開発した後、JDK Compile のコンパイラー (javac) を介します。テキスト Java ファイルを JAVA バイトコードに変換し、これらの JAVA バイトコードを JRE 上で実行すると、JVM がこれらのバイトコードを解析し、CPU 命令セットまたは OS のシステム コールにマップします。

JVM (Java Virtual Machine)、つまり Java 仮想マシン

JVM は特定のオペレーティング システム プラットフォームに関連する情報をシールドするため、Java プログラムは Java 仮想マシン上で実行されるターゲット コード (バイトコード) を生成するだけで済みます。変更を加えずに複数のプラットフォームで使用できます。 JVM がバイトコードを実行するとき、実際には最終的にバイトコードを特定のプラットフォームで実行するためのマシン命令に解釈します。仮想マシンの命令セットのコンパイルは、マイクロプロセッサの命令セットのコンパイルと非常に似ています。

JVM は Java 言語のクロスプラットフォームの基盤です (ここでの「プラットフォーム」とは異なるオペレーティング システムを指します)。Java プログラムを異なるオペレーティング システムで実行したい場合は、対応する JVM を異なるオペレーティング システムにインストールする必要があります。そのため、JVMにはWindows版、MAC版、Linux版などが存在します。

JRE(Java RuntimeEnvironment)、つまりJava実行環境

JREにはJava仮想マシンとJavaプログラムに必要なコアクラスライブラリが含まれています。開発した Java プログラムを実行する場合は、JRE をコンピュータにインストールするだけで済みます。

概要: JRE = JVM + Java クラスライブラリ

JDK (Java Development Kit)、つまり Java Development Kit

JDK は Java 開発者が使用できるように提供されており、JRE やコンパイル ツール (javac.exe)、パッケージ化ツール (jar.exe) などの一部の Java 開発ツールが含まれます。したがって、JDK をインストールした後は、JRE をインストールする必要はありません。 Java 言語の学習者は、JDK をインストールする必要があります。JDK がなければ、Java コードをコンパイルして実行することができません。これが、ほとんどすべての Java 入門チュートリアルで JDK のインストールを推奨する理由です。

概要: JDK = JRE + Java 開発ツール

読んでいただきありがとうございます。皆様のお役に立てれば幸いです。このサイトのご支援に感謝いたします。

Java 環境における JDK、JVM、JRE の詳細については、PHP 中国語 Web サイトに注目してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境