jdkとjreの違い

May 25, 2020 pm 02:59 PM
jdk jre

jdkとjreの違い

jdk と jre の違い

1. 定義

JRE (Java ランタイム環境) ) Javaの実行環境です。開発者ではなく、Java プログラムのユーザーを対象としています。 JRE をダウンロードしてインストールしただけの場合、システムは Java プログラムのみを実行できます。 JRE は、JVM 標準実装や Java コア クラス ライブラリなど、Java プログラムを実行するために必要な環境の集合です。これには、Java 仮想マシン、Java プラットフォームのコア クラス、およびサポート ファイルが含まれます。開発ツール (コンパイラー、デバッガーなど) は含まれません。

JDK (Java Development Kit) は、J2SDK (Java2 Software Development Kit) とも呼ばれ、Java 開発ツール キットです。これは、Java 開発環境 (クラスの Java ファイルをコンパイルするためのコンパイラ javac およびその他のツールを提供します) を提供します。ファイル)と実行環境(クラス ファイルを解析して実行するための JVM およびランタイム補助パッケージを提供)。 JDK をダウンロードしてインストールすると、Java プログラムを開発できるだけでなく、Java プログラムを実行するプラットフォームも手に入れることができます。 JDK は、Java ランタイム環境 (JRE)、一連の Java ツール tools.jar、および Java 標準クラス ライブラリ (rt.jar) を含む Java 全体の中核です。

推奨事項: "java 学習"

2. 違い

JRE には主に次のものが含まれます: Java クラスのクラス ファイルライブラリ (すべて lib ディレクトリの jar にパッケージ化されています) および仮想マシン (jvm.dll); JDK には主に以下が含まれます: Java クラス ライブラリのクラス ファイル (すべて lib ディレクトリの jar にパッケージ化されています) および JRE が付属しています。では、なぜ JDK には JRE が付属しているのでしょうか?さらに、jdk/jre/bin の下のクライアント フォルダーとサーバー フォルダーの両方に jvm.dll が含まれています (JDK に付属の JRE に 2 つの仮想マシンがあることを示します)。

環境変数パスに jdk/bin パスを設定することを忘れないでください?先生は、javac と java が設定されていないと使用できないことを全員に伝えます。確かに、jdk/bin ディレクトリにはすべてのコマンドが含まれています。しかし、私たちが使用する Java コマンドが jdk/bin ディレクトリではなく jre/bin ディレクトリにあると考えたことがある人はいるでしょうか?信じられないなら、実験してみてください。jdk/bin ディレクトリの java.exe を別の場所に切り取って、Java プログラムを実行してください。何がわかりましたか?全て大丈夫! (JRE には javac コマンドがありません。理由は簡単です。開発環境ではありません) それで、誰かが尋ねますか? jre/bin ディレクトリを環境変数に設定していないのは明らかですか?想像してみてください。ほとんどの人が Java を使用する場合、開発には jdk は必要ありません。Java プログラムを実行するために jre だけが必要です。では、各顧客が手動で環境変数を設定するのはどれほど面倒でしょうか? jre をインストールすると、インストール プログラムによって jre の java.exe がシステム変数に自動的に追加されます。検証方法は非常に簡単です。Windows/system32 に移動して調べてください。何が見つかりましたか? java.exeがあります。

3. 難易度

JDK がインストールされている場合、コンピューターには 2 つの JRE セット (JRE 自体と JDK 内の JRE) が存在します。最初のセットのサーバー側 Java の数は、後者のセットの仮想マシン。

(1)なぜ Sun は JDK に同じ JRE の 2 セットをインストールすることを要求しているのですか?これは、JDK には Java で書かれた開発ツール (javac.exe、jar.exe など) が多数あり、それらはすべて /lib/tools.jar に配置されるためです。 tools.jar の名前を tools1.jar に変更して javac.exe を実行すると、次の結果が表示されます。スレッド "main" java.lang.NoClassDefFoundError での例外: com/sun/tools/javac/Main。つまり、javac.exe と入力し、java -cp c:/jdk/lib/tools.jar com.sun.tools.javac.Main と入力すると、同じ結果が得られます。ここから、javac.exe は単なるラッパー (Wrapper) であり、これを作成する目的は、開発者が長すぎるコマンドを入力するのを避けることであることが証明できます。 /lib ディレクトリ内のプログラムは非常に小さく、29K 以下であることがわかります。ここから結論を導き出すことができます。つまり、JDK 内のほとんどのツールは Java で書かれているため、それらも Java アプリケーションになります。そのため、JDK 付属のツールを使用して Java プログラムを開発したい場合は、JRE のセットも自分で付属する必要があります。そのため、JDK ディレクトリ JRE にあるセットは、一般的な Java プログラムを実行するために使用されます。

(2) コンピューターに 3 セット以上の JRE がインストールされている場合、誰が決定しますか?この重要なタスクは java.exe にあります。 java.exe の役割は、Java プログラムを実行するための適切な JRE を見つけることです。 java.exe は次の順序で JRE を検索します: 1) 独自のディレクトリに JRE があるかどうか; 2) 親ディレクトリに JRE があるかどうか; 3) レジストリをクエリします: [HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment] 。したがって、java.exe の実行結果は、コンピュータでどの JRE が実行されるかに大きく関係します。

(3) JDK-->JRE-->Bin ディレクトリには、server と client という 2 つのフォルダがあり、実際の jvm.dll はここにあります。 jvm.dll は単独では動作できません。jvm.dll が開始されると、明示的なメソッド (つまり、Win32 API の LoadLibrary() と GetProcAddress() を使用して補助ダイナミック リンク ライブラリをロードします) が使用され、これらの補助ダイナミック リンクはライブラリ ダイナミック リンク ライブラリ (.dll) は、jvm.dll が配置されているディレクトリの親ディレクトリに配置されている必要があります。したがって、どの JVM を使用するかについては、JRE が配置されているディレクトリ内の jvm.dll を指すように PATH を設定するだけで済みます。

4. 最も主流の JDK は Sun がリリースした JDK であり、Sun 以外にも、IBM が開発した JDK、BEA が開発した Jrocket、There など、独自の JDK を開発している企業や組織が数多くあります。 GNU 組織などによって開発された JDK です。

以上がjdkとjreの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linux で jar ファイルを実行する方法 Linux で jar ファイルを実行する方法 Feb 20, 2024 am 10:40 AM

JAR ファイルを実行するための前提条件 Linux システムで JAR ファイルを実行するには、Java 仮想マシン (JVM) やコア クラス ライブラリなどの Java アプリケーションを実行するために必要な基本コンポーネントである Java ランタイム環境 (JRE) をインストールする必要があります。 Ubuntu、Debian、Fedora、openSUSE などの多くの主流 Linux ディストリビューションは、ユーザーのインストールを容易にするための JRE パッケージのソフトウェア ライブラリを提供しています。次の記事では、一般的なディストリビューションに JRE をインストールする手順について詳しく説明します。 JRE をセットアップした後、個人の好みに応じて、コマンド ライン ターミナルまたはグラフィカル ユーザー インターフェイスの使用を選択して、JAR ファイルを開始できます。選択は、Linux シェルの知識と個人の好みによって決まるかもしれません。

Windows 11にJavaをインストールする方法 Windows 11にJavaをインストールする方法 Apr 13, 2023 pm 09:22 PM

多数のアプリケーションが時折登場するにもかかわらず、Java は依然として最も使用され、重要なプログラミング言語の 1 つです。多くのアプリケーションは Windows オペレーティング システム上の Java に依存しており、これを更新することは、Java アプリケーションが安全に実行できるように安定性とセキュリティを提供することでパフォーマンスを向上させることを意味します。 Linux および macOS プラットフォームに Java をインストールすることもできます。唯一の違いは、各プラットフォームのパッケージ/ファイルです。 Windows 11 では Java をダウンロードするときが来ました。今日の記事では、Java をデバイスにインストールする簡単な手順を説明します。 Java のどのバージョンをダウンロードすればよいですか?ダウンロードしたJavaのバージョン

OracleデータベースにはJDKが必要ですか? OracleデータベースにはJDKが必要ですか? Jun 05, 2023 pm 05:06 PM

oracle データベースには jdk が必要です。その理由は、1. 特定のソフトウェアや機能を使用する場合、JDK に含まれる他のソフトウェアやライブラリが必要であること、2. Oracle データベースで Java プログラムを実行するには Java JDK をインストールする必要があること、3. JDK であることです。 Java アプリケーション関数の開発とコンパイルを提供します。 4. 特定の関数の実装と実装に役立つ Java 関数に対する Oracle の要件を満たします。

Java での JDK 動的プロキシの例の分析 Java での JDK 動的プロキシの例の分析 Apr 30, 2023 pm 01:16 PM

1. Java が動的プロキシ クラス Proxy を提供していることを説明します。プロキシは、いわゆるプロキシ オブジェクトのクラスではありませんが、プロキシ オブジェクトを作成してプロキシ オブジェクトを取得するための静的メソッド (newProxyInstance) を提供します。 2. インスタンス publicclassHelloWorld{publicstaticvoidmain(String[]args){//プロキシ オブジェクトを取得 ProxyFactoryfactory=newProxyFactory();SellTicketsproxyObject=factory.getProxyObject();proxyO

Deepin Linux システムのインストール JDK チュートリアル Deepin Linux システムのインストール JDK チュートリアル Feb 15, 2024 pm 12:36 PM

Deepin Linux システムは、Linux カーネルをベースとした国産のオペレーティング システムであり、安定性、セキュリティ、使いやすさの特徴を備えており、Deepin Linux システムでは、Java アプリケーションを開発するために JDK (Java Development Kit) のインストールが必要です。この記事では、Deepin Linux システムに JDK をインストールする方法を詳しく紹介します。インストール手順: Deepin Linux システムのターミナルを開きます。コマンドラインを使用して JDK インストール パッケージをダウンロードします。コマンドは次のとおりです: ``shellsudoapt-getinstallopenjdk-11-jdk`` ダウンロードが完了するまで待つと、システムが自動的に JDK をインストールします。 JDK が正常にインストールされたかどうかを確認するには、次のコマンドを入力します。

Linuxのjdkディレクトリはどこにありますか? Linuxのjdkディレクトリはどこにありますか? Mar 22, 2023 am 09:52 AM

linux jdk ディレクトリは bin ディレクトリにあります。具体的な検索方法は次のとおりです: 1. 「whereis java」コマンドを使用して javad の実行ディレクトリを検索します。 2. 実行ファイルを使用してリンク ファイルを検索します。 3. 「ls -lrt」を使用します。 /etc/alternatives/java" コマンドを実行してインストール ディレクトリを見つけます。

jdkのインストール方法-jdkインストールチュートリアル jdkのインストール方法-jdkインストールチュートリアル Mar 04, 2024 pm 05:10 PM

最近、多くの友人が jdk のインストール方法を尋ねてきました。次に、jdk のインストール方法について学習しましょう。皆さんのお役に立てれば幸いです。 1. 図に示すように、まず JDK インストール ファイルをダウンロードし、JDK インストール インターフェイスに入ります。 2. 図に示すように、[次へ] ボタンをクリックして JDK カスタム インストール インターフェイスに入ります。 3. 図に示すように、デフォルトのディレクトリに直接インストールすることを選択し、[次へ] ボタンをクリックしてインストールすることをお勧めします。 「変更」ボタンをクリックして、インストールディレクトリを自分で選択することもできます。 4. インストールが完了すると、図に示すように、インターフェースがポップアップ表示され、「閉じる」ボタンをクリックします。以上がエディターによるjdkのインストール方法のチュートリアルでしたので、皆様のお役に立てれば幸いです。

Linuxシステムでjdk環境を構成する方法 Linuxシステムでjdk環境を構成する方法 May 12, 2023 am 09:31 AM

Linux システムに jdk 環境を展開するには、次の手順を実行します。 1. jdk インストール パッケージをダウンロードします。 2. 新しいインストール jdk フォルダー (/usr/local/java/jdk) を作成します。 cd /usr/localmkdir/usr/local/javalocal ディレクトリ新しい Java ディレクトリを作成します cd /usr/local/javamkdir/usr/local/java/jdk 新しい jdk ディレクトリを作成します cd/usr/local/java/jdk3. jdk インストール パッケージを linux4 にアップロードします. jdk インストール パッケージを解凍します。解凍形式: tarzxvf 圧縮パッケージ名の後の名前は、頭文字を入力して Tab キーを使用するだけです。

See all articles