プログラマー:私は今日、JDKとJREの違いと接続だけを知っています!

誰もがJDKとJREを知っていますが、インタビュアーが「JDKは何をするのか」、「JREは何をするのか」、「2つの違いは何ですか」などの質問をすると、答えられない場合があります。以下では、主にJDKとJREの違いと接続について説明します。
さらに苦労せずに、最初の画像:
ここに画像の説明を挿入
上記の画像から、JDKはJavaランタイム環境JRE(Javaランタイム環境)、Java開発ツール(javac / java / jdbなど)とJavaファウンデーションを含む、JAVA全体の中核であることがわかります。クラスライブラリ(つまり、Java APIパッケージ)は、JDKとJREをわかりやすく説明します。


1.コンセプト

JDKはJava Development Kitと呼ばれ、その名前が示すとおり、Java開発キットであり、Java言語を使用してJavaプログラムを作成するためにプログラマーが必要とする開発キットです。

JREはJavaランタイム環境と呼ばれ、その名前が示すとおり、Javaランタイム環境であり、Java仮想マシンとJava基本クラスライブラリが含まれています。Javaで記述されたプログラムを実行するために必要なソフトウェア環境です。

第二に、違い

1.群集によって異なる

JDKはプログラマーに提供されます。JREは、Javaプログラムを実行したいユーザー向けに提供されています。

2.異なる重要度レベル
Javaプログラムを作成する必要がある場合は、JDKをインストールする必要があります。Javaプログラムを実行する必要がある場合は、JREをインストールしてください。

3.インストールディレクトリが異なります
3.1。JDKがインストールされている場合、コンピューターには2セットのJREがあります

1つのセットは、\ jreディレクトリにあるJDKのJREです。
もう1つのセットはJRE独自のもので、ダウンロードおよびインストール時にデフォルトでC:\ Program Files \ Java \ jreディレクトリにあります。
ここでは、図に示すように、JREのインストール時にブロガーがDドライブに配置します:
(1)E:\ Java \ jre
ここに画像の説明を挿入
(2)D:\ Java \ jre 3.2。JRE
ここに画像の説明を挿入
のみがインストールされている場合は、デフォルトでC:\ Program FilesになりますJREの唯一のセットは、\ Javaディレクトリの下にインストールされます。場所を選択できます。ここでは、ブロガーがDドライブに配置します
ここに画像の説明を挿入
。3つ、連絡先

1.
JDKにJRE が含まれ、 Javaソースコードをコンパイルするコンパイラjavacが含まれ、Javaプログラムをデバッグおよび分析するための多くのツール(JConsole、Webサービス、その他のツールソフトウェア)が含まれ、Javaベースのクラスライブラリも含まれます。 (つまり、Java APIにはrt.jarが含まれています)。

2.実行関係
まず最初に、JVMについて説明します。JVM(Java仮想マシン)はよく言われるJava仮想マシンです。これは、Java実装クロスプラットフォーム全体のコア部分です。すべてのJavaプログラムは次のようにコンパイルされます。 .Classクラスファイル。このクラスファイルは仮想マシンで実行できます。
言い換えると、クラスはマシンのオペレーティングシステムに直接対応していませんが、仮想マシンを介して間接的にオペレーティングシステムと対話し、仮想マシンはプログラムをローカルシステムに解釈して実行します。
クラスを解釈するとき、JVMは解釈に必要なライブラリlibを呼び出す必要があり、jreにはlibライブラリが含まれているため、JVMだけをクラスとして実行することはできません。JDKの下のjreディレクトリには、binとlibの2つのフォルダーがあり、binはjvm、libはjvmが機能するために必要なクラスライブラリであり、jvmとlibはjreと呼ばれます。

得到公式:jvm+lib=jre

binディレクトリのjvm
libのJVMクラス
JVMは特定のオペレーティングシステムプラットフォームに関連する情報を保護するため、Javaプログラムは、Java仮想マシンで実行され、変更なしで複数のプラットフォームで実行できるターゲットコード(バイトコード)を生成するだけで済みます。

全体として、JDK(JAVA APIを呼び出す)を使用して独自のJAVAプログラムを開発した後、JDKのコンパイラ(javac)を介してテキストJavaファイルをJAVAバイトコードにコンパイルし、これらのJAVAバイトをJREで実行しましたコード、JVMはこれらのバイトコードを解析し、それらをCPU命令セットまたはOSシステムコールにマップします。

追加するものが何もないときではなく、削除するものが残っていないときに完璧が達成されます。—— Antoine de Saint-Exupery

元の記事を40件公開しました 気に入った 113 訪問7648

おすすめ

転載: blog.csdn.net/qq_42257666/article/details/105701938
おすすめ