実を言うと、私はこれらすべての用語(JDK/JRE/Java SDK)についてかなり混乱しています。それぞれが何をしているのかわかりません。
私が最初に単純なJavaの例を実行し始めたとき、私はJREしか持っていなかったと確信しています。これはデフォルトであると信じていましたJavaシステム上でJavaプログラム/アプレットを実行できるようにする。
ただし、現在クラスではGoogle Appengineを使用しています。これにはJDKが必要であり、これはJava SDKと同じです。JDKをインストールすると、 Java/binを環境変数に追加してjavac -versionをコマンドプロンプトで機能させるには、JDKだけがjavacを持っていることがわかります...
私の初期のJavaプログラムは、JDKをインストールせずに、したがってjavacを持たずにどのように機能しましたか?そして本当に主な質問... JREとJDKの違いは何ですか、いつ使用しますか?それぞれ?
ありがとうございました :)
Eclipseには独自の組み込みコンパイラ(ecj
と呼ばれる)があります。これが、JDKをインストールせずに使用できる理由です。 javac
は使用しません。
Google App Engineは、JDKに付属するjavac
を使用します。
JRE = Javaランタイム環境-Javaを必要とする、またはJavaで記述されたライブラリを使用するプログラム/ソフトウェアを実行するために必要なもの。たとえば、OpenOfficeにはJavaランタイム環境が必要です。
JDK/Java SDK = Java Development Kit/Java Software Development Kit-必要なものwrite Javaを必要とするプログラム、またはJavaで記述されたライブラリを使用するプログラム。たとえば、Javaで独自のワードプロセッシングツールを作成する場合などです。
Java
はVM(仮想マシン)を起動するため、JREに付属しています。 JDKを使用してコンパイルされたファイルであるclass
ファイルを取り込むことができます。
JDKにはjavac
が付属しています。これは、.Java
ファイルを.class
ファイルにコンパイルしてJREで実行できるようにするためです。
JREとJDKの違いは何ですか?それぞれをいつ使用しますか?
[〜#〜] jre [〜#〜]:Javaランタイム環境。 Javaプログラムの実行にのみ使用されます。 Chris Jester -Young で述べたように、Eclipseにはコンパイラが組み込まれていました。そのため、(Eclipseを実行するために)JREが必要でした。
Javaプログラムを出荷する場合、クライアントに必要なのはこのランタイム環境だけです。
[〜#〜] jdk [〜#〜]:Java開発キット、これにはJREも含まれていますが、さらにJavaコンパイラjavacなどのプログラム開発用の他のツール。
Javaプログラムを作成する場合は、これを使用する必要があります。
JREを使用してJavaプログラムをコンパイルする方法はありません。javac、Javaコンパイラは、JDKにのみ付属しています。
「時々jreで開発できる」
いいえ。
Java開発キットを使用して開発します。Javaランタイム環境またはエンジン、あるいはそれが呼び出されるものを使用して実行します。