Java コードはマシンによってどのように認識されるのでしょうか?
まず、高級プログラミング言語である Java の構文は非常に複雑なので、Java コードをマシンに直接投げると、マシンは Java コードを認識できません。したがって、Java 言語の場合は、まずコンパイラを使用して Java ソース コード (.java ファイル) をバイトコード ファイル (.class ファイル) にコンパイルし、次に仮想マシン (JVM) を使用してバイトコードをマシン コードに変換します。そして最終的に、マシンコードがマシンによって認識され、実行されるようになります。
下の図をご覧ください:
(推奨される無料の学習ビデオ チュートリアル: java ビデオ チュートリアル)
# #説明は次のとおりです: 実際には、JVM はバイトコード ファイルを直接実行できません。JVM は、対応するコード ロジックを実行する前に、バイトコードをマシン コードに変換する必要があります。 HotSpot 仮想マシンでは、2 つの変換形式があります。1 つ目は解釈と実行、つまりバイトコードを 1 つずつマシンコードに変換して実行します。2 つ目は、ジャストインタイム コンパイル (JIT) です。メソッドに含まれるすべてのバイトコードは、実行前にマシンコードにコンパイルされます。どちらの方法にも独自の長所と短所があります。 実行を解釈する利点は、コンパイルを待たずにすぐに実行できることです。ジャストインタイム コンパイルの利点は、実際に高速に実行されることです。 HotSpot 仮想マシンはデフォルトでハイブリッド モードを採用しており、解釈された実行とジャストインタイム コンパイルの利点を組み合わせています。まずバイトコードを解釈して実行し、次にメソッド単位で繰り返し実行されるホットスポット コードをオンザフライでコンパイルします。 Java 仮想マシンが Java バイトコードを実行すると、まずバイトコード ファイルがメモリにロードされ、次にロードされた Java クラスがメソッド領域 (メソッド領域) に格納されます。実際に仮想マシンを実行する場合、仮想マシンはメソッド領域のコードを実行します。 実行プロセス中、Java メソッドが入力されるたびに、Java 仮想マシンは現在のスレッドの Java メソッド スタックにスタック フレームを生成し、ローカル変数とバイトコード オペランドを格納します。現在の実行メソッドを終了するとき、正常な戻りか異常な戻りかに関係なく、Java 仮想マシンは現在のスレッドの現在のスタック フレームをポップアップして破棄します。 おすすめの関連記事とチュートリアル:以上がJavaコードがマシンによってどのように認識されるかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。