0

jvmがクラスファイルをコンパイルする方法を知りたいのですが、JITがjvmによって処理されるクラスファイルをコンパイルすると、出力はアセンブリソースコードまたはバイナリ実行可能コードになります。つまり、JVMはクラスファイルをどのようにコンパイルし、次に何をするのでしょうか。前もって感謝します

4

1 に答える 1

0

これらの答えは実装固有です...

Hotspot JIT コンパイラは、アセンブラ ソース コードにコンパイルしません。むしろ、ネイティブ コードの命令を、すぐに実行できるメモリに直接出力します。

Hotpot のバージョン、JVM スイッチなどによっては、JVM がバイトコード インタープリターを使用してメソッドを数回実行した後に JIT コンパイルが行われます。最近の JVM では、最初の解釈段階で統計が収集され、JIT コンパイラーがより良いコードを生成するのに役立ちます。

于 2012-09-26T14:56:03.410 に答える