JDK、JRE、およびJVMの違い人気のあるインタビューの質問の1つです。また、JDKとJREとJVMについて説明するように求められる場合もあります。
JDK、JRE、JVMの違い
JDK、JRE、JVMはJavaプログラミング言語のコアコンセプトです。これらの概念はプログラミングでは使用しません。ただし、Java開発者として、それらについて知っておく必要があります。
JDK
Java Development Kit、別名JDKはJava Environmentのコアコンポーネントであり、Javaプログラムのコンパイル、デバッグ、および実行に必要なすべてのツール、実行可能ファイル、およびバイナリを提供します。
JDKは、プラットフォーム固有のソフトウェアであり、そのため、Windows、Mac、およびUnixシステム用に個別のインストーラーがあります。
JDKには、Javaコンパイラ、デバッガ、およびコアクラスを備えたJREが含まれているため、JREのスーパーセットであると言えます。
JVM
JVMはJavaプログラミング言語の心臓部です。 Javaプログラムを実行するとき、JVMはバイトコードをマシン固有のコードに変換する責任があります。
JVMもプラットフォームに依存し、メモリ管理、ガベージコレクション、セキュリティなどのコアJava機能を提供します。
JVMはカスタマイズ可能であり、Javaオプションを使用してカスタマイズできます。たとえば、最小メモリと最大メモリをJVMに割り当てます。
JVMは、基盤となるインターフェイスに依存しないインターフェイスを提供するため、仮想と呼ばれます。オペレーティングシステムとマシンハードウェア。
ハードウェアとオペレーティングシステムからのこの独立性により、Javaプログラムはどこでも1回実行できます。
JRE
JREはJVMの実装。 Javaプログラムを実行するためのプラットフォームを提供します。 JREは、JVM、Javaバイナリ、およびその他のクラスで構成され、プログラムを正常に実行します。
JREには、Javaコンパイラ、デバッガ、JShellなどの開発ツールは含まれていません。
Javaプログラムを実行したいだけの場合は、JREのみをインストールできます。 Javaソースコードの開発やコンパイルが必要ないため、JDKは必要ありません。
JDK、JVM、およびJREの基本を理解したので、それらの違いを見てみましょう。
JDK vs JRE vs JVM
JDK、JRE、JVMの重要な違いをいくつか見てみましょう。
- JDKは開発用です。一方、JREはJavaプログラムを実行するためのものです。
- JDKとJREの両方にJVMが含まれているため、Javaプログラムを実行できます。
- JVMはJavaプログラミング言語の中心であり、プラットフォームに依存しません。 。
ジャストインタイムコンパイラ(JIT)
JITは、JVM、JDK、およびJREと並んで教科書に記載されている場合があります。 JITは、バイトコードをマシン固有の言語に変換するプロセスを最適化するJVMの一部です。同様のバイトコードを同時にコンパイルし、バイトコードをマシン固有の言語にコンパイルするのにかかる全体的な時間を短縮します。