2017-03-17 10 views
4

JVM(Java仮想マシン)、JRE(Javaランタイム環境)との違いを理解しながら、私は、JDK(ジャストインタイムコンパイラで)(のJava Development Kit)、JITを苦労がありました、javac(Javaコンパイラ)。Javaコンポーネントの違い(JRE、JDK、JVM、JIT、javac)

誰かが私にこれらの間の良い比較と対照を教えてもらえますか?

+0

https://www.javatpoint.com/difference-between-jdk-jre-and-jvm – Aman

答えて

0

enter image description here

あなたがためにGoogleのそんなに行っているかもしれませんこの質問の答えを見つけて、JVM、JRE、JVMのアーキテクチャと相互関係を示す非常に退屈な図を見つけました。実際に(理論的にではなく)それを理解するのに私は一年かかった。

JDK、JREおよびJVMがどのようなものです:

は、この単純な(まだ非常に重要な)の質問の答えを見つけるのをしてみましょうか?

JDK: - Java開発キット(短いJDK)は、Javaプログラムの開発と実行(実行)のための環境を提供するキットです。たとえば。あなた(Java Developerとして)はあなたのマシンで会計アプリケーションを開発しているので、このデスクトップアプリケーションを開発して実行するにはマシンに何が必要ですか?この目的のためにJ-D-Kが必要になります。JDKの最新バージョンをマシンにダウンロードするには、SunまたはOracleの公式Webサイトにアクセスするだけです。

したがって、JDKは、i)開発ツール(Javaプログラムを開発する環境を提供する)とii)(Javaプログラムを実行するための)JREの2つのキットを含みます。 JDKはJava開発者のみが使用します。

JRE: - Java Runtime Environment(JRE)は、Javaプログラム(またはアプリケーション)をマシン上でのみ実行する環境を提供するインストールパッケージです。アカウンティングアプリケーションを開発した後、同じアプリケーションを続行するなど、このアプリケーションをクライアントのマシンに実行したいとします。この場合、クライアントはアプリケーションを自分のマシンに実行するだけで済むので、クライアントはアプリケーションを自分のマシンに実行するためにJREをインストールする必要があります。

したがって、JREは、Javaプログラム、つまりシステムのエンドユーザーだけを実行したいユーザーのみが使用します。

JVM:Java仮想マシン(JVM)は、JDKとJREの両方で非常に重要な部分です.JDKとJREの両方に組み込まれているためです。 JREまたはJDKを使用して実行するJavaプログラムはJVMに入り、JVMはJavaプログラムを1行ずつ実行する責任があるため、インタプリタとしても知られています(後でインタープリタについて説明します)。したがって、JDKまたはJREインストールパッケージに組み込まれているため、JVMをマシンに個別にインストールする必要はありません。 JVMの詳細については、すぐに調べていきます。

最後に、Javaのすべての3つの主要部分について学んだ後、Javaのすべての主要コンポーネント間のアーキテクチャと相互関係を明確に理解するために、上記の図を見ることができます。

0

さて、私はそれについて私にあなたに伝えたいと思います。



    JDK(Java開発者キット)は、完全なJava開発プラットフォームであり、我々は、コンパイル、デバッグ、コードを実行することができ、JDKは、オペレーティングシステムに依存するので、少しバージョン があり、Windowsによって分類し、Linuxとマック。

        JRE(Java Runtime Environment)はJavaの実行環境で、Javaで書かれたゲームをプレイしたことがあれば、ゲームをプレイするときにJREを持たなければならないことがわかります。これはJavaランタイム環境です。

        JVM(Java Virtual Machine)はJREの一部であり、JREの最も重要な部分です。

        JITは、バイトコードをバイナリコードに変換できるツールです。

        javacは、コードをJavaバイトコードに変換できるツールです。私たちは、関係を締結することができます




JDK = JRE +のjavac + jconsoleを+ jvisualvm +デモ+ドキュメント+他の

JRE = JVM + JAVAバイナリコード+他のライブラリ+他の

JVM = JIT +その他

enter image description here

関連する問題