2012-09-26 57 views
0

我想知道jvm如何編譯類文件,當JIT編譯由jvm處理的類文件時,輸出是彙編源代碼或二進制可執行代碼。換句話說, JVM編譯類文件,然後執行什麼操作。 在此先感謝JVM編譯類文件到彙編源代碼或二進制代碼

+0

JVM執行.class字節碼。 JIT在程序運行時會優化其中的一部分(基本上使用統計信息),有時它只是專門說明如何使用CPU本機。 – nullpotent

+0

這是一個*非常*複雜和低層次的主題。您對彙編程序的熟悉程度和舒適度以及編譯器通常如何生成彙編代碼?有一些你特別感興趣的問題嗎? –

回答

0

這些答案都是指定...

的熱點JIT編譯器不編譯成彙編源代碼。而是將本地代碼指令直接發送到準備執行的內存中。

根據Hotpot版本,JVM開關等不同,JIT編譯發生在JVM使用字節碼解釋器執行了幾次方法之後。在最近的JVM中,在初始解釋階段收集統計數據,然後幫助JIT編譯器生成更好的代碼。