2017-01-09 16 views
1

異なるOS(Windows、Linux、Macなど)のJREがすべてプラットフォームによって異なる場合、私は自分自身に質問していますか?私がこれを尋ねる理由は、Javaバイトコードがプラットフォームに依存しない場合、特定のOSのJREが同じバイトコードを実装しなければならないということです。前もって感謝します。異なるOS JREは異なっていますか?

+0

多くのプラットフォームでプラットフォーム依存のコンパイラ/インタプリタがあるため、Javaはプラットフォームに依存しません。異なるプラットフォーム上で動作するようにコードを変更する必要はないという意味でプラットフォームに依存しませんが、プラットフォーム固有のJREバージョンを使用してプログラムを実行する必要があります。 – 11thdimension

+1

これは、Javaに関するコアコンセプトです.JREはプラットフォーム固有であり、バイトコードはありません。 – stdunbar

+0

バイトコードはOSに依存しませんが、Java仮想マシンはバイトコードです。 –

答えて

4

Java Runtime Environment(JRE)はプラットフォームによって異なります。それらは同じJavaバイトコードを実行します。

+0

権利。基本的に、JREの目的は、Java自体が(少なくともできるだけ)プラットフォームに依存しないようにすることです。 –

1

のJREは、プラットフォーム及びアーキテクチャ固有のが、すべてのプラットフォーム間で同じバイトコードとJVM関数(アーキテクチャx86およびx64の差が依然として存在する)の両方である

1

JREは、Java Runtime Environment.Itの頭字語でありますJVM +ライブラリ(jvmに必要)と、Javaで書かれたアプレットとアプリケーションを実行するための他のコンポーネントを提供する実行時環境を提供するために使用されます。

Java仮想マシン(JVM)は、Javaバイトコードを実行する仮想マシンです。 JVMがJavaソースコードを理解していないため、* .javaファイルをコンパイルして、JVMが理解できるバイトコードを含む* .classファイルを取得するのはこのためです。そのため、コードを一度(.classファイルを生成して)書き、別のJVMで実行します。さまざまなシステム(Windows、Linuxなど)用のJVMの実装があります。 JVM投与量のタスククラスのロード、コードの検証、Executinコードの提供、実行時環境の提供。

また、JRE +開発ツールで構成されるJDKという別の用語もあります。

関連する問題