JDK、JRE、JVMの接続と違いは何ですか?

ここに画像の説明を挿入
JDK:開発者向けのJava開発キットの完全な名前、開発キット。開発者に開発ライブラリを提供します。彼はJavaの中核です。JDKには、JRE、一連のツールクラス(javac、java)、JAVAクラスライブラリ(Object、String)が含まれています
。JRE:Javaランタイム環境の完全な名前。JVM標準実装と必要なクラスライブラリが含まれています。JREは動作環境であり、開発ツールではありません。
JVM:これは仮想コンピュータであり、実際のコンピュータでさまざまなコンピュータ機能をシミュレートすることによって実現されます。JVMには、プロセッサ、スタック、レジスタなどの独自の完全なハードウェアアーキテクチャと、対応する命令システムがあります。Java言語の最も重要な機能は、クロスプラットフォーム操作です。JVMを使用すると、クロスプラットフォームを実現できます。
3つの接続:
JVMはクラスファイルを個別に処理できません。クラスを解釈するとき、jvm(D:\ JDK \ bin)は必要なクラスライブラリ(D:\ JDK \ lib)を呼び出す必要があります。JVM + lib = JRE一般的に言えば、JDKを使用して独自のプログラムを開発し、JDKのjavacツールキットを介してそれらをコンパイルし、Javaファイルをクラスファイル(バイトコードファイル)としてコンパイルし、これらをJREで実行します。 JVMはこれらのファイルの変換を実行しました。
3つの違い:
JDKとJRE の違い:jdkはJREを含む開発キットであり、JREは動作環境であり、開発キットを提供していません。
JREとJVMの違い:JREにはJVM、JRE = JVM + libが含まれます。JREはクラスファイルの実行環境を提供しますが、JVMはクラスファイルを変換する必要があります。JVMは変換されたファイルをosシステムまたはCPUマッピング命令セットに転送して、最終的に操作を完了します。
ここに画像の説明を挿入
図から、mainメソッドをクリックすると、バックグラウンドプロセスが作成され、javaw.exeがeclipseで作成されていることがわかります。javaw.exeは私たちの大きな仮想マシンです。(メインメソッドをn回クリックしたところ、n個のjvm仮想マシンが作成されたことがわかりました。

おすすめ

転載: blog.csdn.net/GTC_GZ/article/details/107593148