溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java的JIT 工作原理簡單介紹

發(fā)布時間:2020-09-28 03:30:06 來源:腳本之家 閱讀:213 作者:lqh 欄目:編程語言

1.JIT的工作原理圖

java的JIT 工作原理簡單介紹

工作原理

當JIT編譯啟用時(默認是啟用的),JVM讀入.class文件解釋后,將其發(fā)給JIT編譯器。JIT編譯器將字節(jié)碼編譯成本機機器代碼。

通常javac將程序源代碼編譯,轉換成java字節(jié)碼,JVM通過解釋字節(jié)碼將其翻譯成對應的機器指令,逐條讀入,逐條解釋翻譯。很顯然,經(jīng)過解釋執(zhí)行,其執(zhí)行速度必然會比可執(zhí)行的二進制字節(jié)碼程序慢。為了提高執(zhí)行速度,引入了JIT技術。

在運行時JIT會把翻譯過的機器碼保存起來,已備下次使用,因此從理論上來說,采用該JIT技術可以,可以接近以前純編譯技術。

2.相關知識

JIT是just in time,即時編譯技術。使用該技術,能夠加速java程序的執(zhí)行速度。

JIT并不總是奏效,不能期望JIT一定能夠加速你代碼執(zhí)行的速度,更糟糕的是她有可能降低代碼的執(zhí)行速度。這取決于你的代碼結構,當然很多情況下我們還是能夠如愿以償?shù)摹?/p>

從上面我們知道了之所以要關閉JITjava.lang.Compiler.disable(); 是因為加快執(zhí)行的速度。由于JIT對每條字節(jié)碼都進行編譯,造成了編譯過程負擔過重。為了避免這種情況,當前的JIT只對經(jīng)常執(zhí)行的字節(jié)碼進行編譯,如循環(huán)等.

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI