<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    常用鏈接

    統計

    最新評論

    關于java的JIT知識(轉)

    什么是JIT

    JIT是just in time,即時編譯技術。使用該技術,能夠加速java程序的執行速度。下面,就對該技術做個簡單的講解。

    首先,我們大家都知道,通常javac將程序源代碼編譯,轉換成java字節碼,JVM通過解釋字節碼將其翻譯成對應的機器指令,逐條讀入,逐條解釋翻譯。很顯然,經過解釋執行,其執行速度必然會比可執行的二進制字節碼程序慢。為了提高執行速度,引入了JIT技術。

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

    JIT 編譯過程

    JIT編譯啟用時(默認是啟用的),JVM讀入.class文件解釋后,將其發給JIT編譯器。JIT編譯器將字節碼編譯成本機機器代碼,下圖展示了該過程。

    什么是JIT

    JIT是just in time,即時編譯技術。使用該技術,能夠加速java程序的執行速度。下面,就對該技術做個簡單的講解。

    首先,我們大家都知道,通常javac將程序源代碼編譯,轉換成java字節碼,JVM通過解釋字節碼將其翻譯成對應的機器指令,逐條讀入,逐條解釋翻譯。很顯然,經過解釋執行,其執行速度必然會比可執行的二進制字節碼程序慢。為了提高執行速度,引入了JIT技術。

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

    JIT 編譯過程

    JIT編譯啟用時(默認是啟用的),JVM讀入.class文件解釋后,將其發給JIT編譯器。JIT編譯器將字節碼編譯成本機機器代碼,下圖展示了該過程。


    Graphic

     

    通過上面的解釋,我們了解了JIT的工作原理及過程,同樣也發現了個問題,由于JIT對每條字節碼都進行編譯,造成了編譯過程負擔過重。為了避免這種情況,當前的JIT只對經常執行的字節碼進行編譯,如循環等。

    需要說明的是,JIT并不總是奏效,不能期望JIT一定能夠加速你代碼執行的速度,更糟糕的是她有可能降低代碼的執行速度。這取決于你的代碼結構,當然很多情況下我們還是能夠如愿以償的。

    posted on 2009-01-13 14:18 九寶 閱讀(2136) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 国产亚洲精品xxx| 最新精品亚洲成a人在线观看| 亚美影视免费在线观看| 91亚洲性爱在线视频| 亚洲综合色区中文字幕| 亚洲av一综合av一区| 免费在线观看你懂的| 免费毛片a在线观看67194 | 青青青国产手机频在线免费观看 | 精品久久久久成人码免费动漫| 一区二区视频免费观看| 色欲aⅴ亚洲情无码AV| 日本免费人成黄页在线观看视频| 久久午夜羞羞影院免费观看| h视频在线观看免费| 美女被免费视频网站a| 青娱乐在线视频免费观看| 亚洲熟妇av午夜无码不卡| 亚洲最大的成人网| 亚洲国产日韩精品| 午夜在线a亚洲v天堂网2019| 亚洲国产成人va在线观看网址| 亚洲国产av高清无码| 亚洲自偷自偷在线成人网站传媒| 亚洲精品中文字幕无乱码| 亚洲免费在线视频观看| 国产成人精品亚洲2020| 在线观看亚洲电影| 国产黄色片免费看| ww4545四虎永久免费地址| 大地资源在线观看免费高清| 插鸡网站在线播放免费观看| A片在线免费观看| 在线观看免费污视频| 日本亚洲欧洲免费天堂午夜看片女人员| 免费福利在线视频| 免费看少妇作爱视频| 亚洲成AV人片在线观看WWW| 亚洲一区二区三区丝袜| 国产日韩久久免费影院| 在人线av无码免费高潮喷水|