Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
jvmがクラスファイルをコンパイルする方法を知りたいのですが、JITがjvmによって処理されるクラスファイルをコンパイルすると、出力はアセンブリソースコードまたはバイナリ実行可能コードになります。つまり、JVMはクラスファイルをどのようにコンパイルし、次に何をするのでしょうか。前もって感謝します
これらの答えは実装固有です...
Hotspot JIT コンパイラは、アセンブラ ソース コードにコンパイルしません。むしろ、ネイティブ コードの命令を、すぐに実行できるメモリに直接出力します。
Hotpot のバージョン、JVM スイッチなどによっては、JVM がバイトコード インタープリターを使用してメソッドを数回実行した後に JIT コンパイルが行われます。最近の JVM では、最初の解釈段階で統計が収集され、JIT コンパイラーがより良いコードを生成するのに役立ちます。