実際のjvmインストールが発生したのはいつですか?[複製]

Nov 30 2020

Windows 10のような新しいOSがあるとします。intellij(javaで記述)のようなソフトウェアをインストールして実行しました。jvmやjreをインストールしていません。どうすれば実行できますか?

回答

SathimanthaMalalasekera Nov 30 2020 at 14:14

jvmなしでJavaソフトウェアを実行できますか?

「マシン」は「マシンコード」(ネイティブバイナリ)のみを実行できます。マシンコードは、実行しているマシンのアーキテクチャと互換性がある必要があります。

jvmは、マシンを仮想的にエミュレートするプログラムです。Javabytecodeは、Java仮想マシンで実行される特殊なタイプのマシンコードと考えることができます。つまり、.classファイルには、jvmで実行できるマシン命令が含まれています。

では、Javaで記述された一部のソフトウェア(IntelliJなど)は、他のマシンアーキテクチャでどのように実行されますか?これは、これらの場合、jvmで実行されるバイトコードにコンパイルされず、代わりにターゲットプラットフォームのマシン命令に直接コンパイルされるためです。

同じ.javaコードを次のようにコンパイルできます。

  • bytecode 実行する jvm

  • Windows環境で実行するWindowsネイティブバイナリ

  • apk 実行する Android

など