質問
Javaは言語であり、JREはランタイム環境であり、JDKは開発ツールですか? JLSは、JREがx、y、zを実行しなければならないと言う仕様です。したがって、Javaはそれが何であるか?これらの見解は正しいですか?そうでなければ、誰かが私に啓発することができますか?
Javaだと思うがそうではないと思うことはありますか? Androidについて聞いたと思います - 本当ですか?
解決
ある程度、これは自然言語の曖昧さの問題です。これらのもののいくつかは、異なる時期に異なることを意味する場合があります。
「Java」は、「Javaでこの驚くべきフォーディットを書いた」のように、Java言語を参照できます。また、「このWebアプリケーションを使用するにはJavaが必要だ」というように、言語、ランタイム、ツールなどを含むJavaプラットフォームの速記にすることもできます。
JREはJava Runtime Environmentの略で、 Java仮想マシン。 JDK、または Java開発キット, 、Javaコンパイラ、デバッガー、Javadocコンパイラなどを含む開発者ツールのセットです。紛らわしいことに、JREも含まれます(たとえば、Eclipse、たとえば、JDKをプロジェクトのランタイムとして指定できる場所)。
Java言語仕様(JLS)は、Java言語の仕様です。別の言い方をすれば、言語の実装方法の技術的な詳細を説明します。
Androidは、コードがJavaで記述されるプラットフォームですが、JVMではなくDalvik仮想マシンで実行するようにコンパイルされます。その意味では、実際にはJavaではありませんが、開発者の観点からは、違いは主にライブラリの使用です。構文は同じです。
同様の質問: