您好,登錄后才能下訂單哦!
Java虛擬機中有許多附加技術用以提升速度,尤其是與加載器操作相關的,被稱為“即時”(Just-In-Time,JIT)編譯器的技術。這種技術可以把程序全部或部分翻譯成本地機器碼(這本來是JVM的工作),程序運行速度因此得以提升。當需要裝載某個類時,編譯器會先找到其.class文件,然后將該類的字節碼裝入內存。此時,有兩種方案可供選擇:
(1)一種就是讓即時編譯器編譯所有代碼。但這種做法有兩個缺陷:這種加載動作散落在整個程序生命周期內,累加起來要花更多時間;并且會增加可執行代碼的長度(字節碼要比即時編譯器展開后的本地機器碼小很多),這將導致頁面調度,從而降低程序速度。
(2)另一種做法稱為惰性評估(lazy evaluation),意思是即時編譯器只在必要的時候才編譯代碼,這樣,從不會被執行的代碼也許就壓根不會被JIT所編譯。新版JDK中的Java HotSpot技術就采用了類似方法,代碼每次被執行的時候都會做一些優化,所以執行的次數越多,它的速度就越快。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。