第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問JIT編譯器是做什么的?

請問JIT編譯器是做什么的?

JIT編譯器是做什么的?與非JIT編譯器相比,JIT編譯器具體做些什么?有人能給出一個簡潔和容易理解的描述嗎?
查看完整描述

3 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

JIT編譯器運行該程序已經啟動并編譯了代碼(通常是字節(jié)碼或某種VM指令)(或者就像它所稱的那樣,只是在時間上),變成了通常更快的形式,通常是主機CPU的本地指令集。JIT可以訪問動態(tài)運行時信息,而標準編譯器不能也可以進行更好的優(yōu)化,比如經常使用的內聯(lián)函數(shù)。

這與編譯機器語言代碼以前程序是第一次運行。

換句話說,常規(guī)編譯器在第一次運行程序之前將整個程序構建為EXE文件。對于較新的樣式程序,程序集是用偽代碼(p代碼)生成的.只有在你在操作系統(tǒng)上執(zhí)行程序之后(例如,雙擊它的圖標),(Jit)編譯器才會啟動并生成機器代碼(m代碼),而基于Intel的處理器或任何東西都會理解這些代碼。




查看完整回答
反對 回復 2019-08-05
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

一開始,編譯器負責將高級語言(定義為高于匯編程序的級別)轉換為目標代碼(機器指令),然后(由鏈接器)鏈接到可執(zhí)行文件。

在語言進化的某個階段,編譯器會將高級語言編譯成偽代碼,然后由解釋器解釋(由解釋器)運行您的程序。這消除了目標代碼和可執(zhí)行文件,并允許這些語言可移植到多個操作系統(tǒng)和硬件平臺。PASCAL(編譯成P-Code)是最早的例子之一;Java和C#是最近的例子。最后,P-代碼一詞被字節(jié)碼所取代,因為大多數(shù)偽操作都是字節(jié)長的。

JIT編譯器是運行時解釋器的一個特性,它將不再每次調用方法時解釋字節(jié)碼,而是將字節(jié)碼編譯成正在運行的機器代碼指令,然后調用這個對象代碼。理想情況下,運行對象代碼的效率將克服每次運行時重新編譯程序的效率低下的問題。




查看完整回答
反對 回復 2019-08-05
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

JIT-在需要的時候(按需),單詞本身就能及時地說出來。

典型情景:

源代碼完全轉換為機器代碼。

JIT方案:

源代碼將轉換為匯編語言,如結構[用于C#的ExIL(中間語言),用于java的字節(jié)碼]。

只有當應用程序所需的所需代碼僅轉換為機器代碼時,才會將中間代碼轉換為機器語言。

JIT與非JIT比較:

  • 在JIT中,并不是所有的代碼都被轉換成機器代碼-首先,所需代碼的一部分將被轉換為機器代碼,然后如果調用的方法或功能不在機器中,那么它將被轉換為機器代碼.它減輕了CPU的負擔。

  • 由于機器代碼將在運行時生成.JIT編譯器將生成為運行機器的CPU體系結構而優(yōu)化的機器代碼。

JIT實例:

  1. 在Java中,JIT在JVM(Java虛擬機)中
  2. 在C#中,它是在CLR(公共語言運行時)中實現(xiàn)的。
  3. 在Android中,它是在DVM(Dalvik VirtualMachine)或ART(Android運行時)中更新的版本。




查看完整回答
反對 回復 2019-08-05
  • 3 回答
  • 0 關注
  • 655 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號