実際の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
など