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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

JIT編譯器是做什么的?

JIT編譯器是做什么的?

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

3 回答

?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊

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

這與編譯機(jī)器語(yǔ)言代碼以前程序是第一次運(yùn)行。

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


查看完整回答
反對(duì) 回復(fù) 2019-07-12
?
翻翻過(guò)去那場(chǎng)雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

一開(kāi)始,編譯器負(fù)責(zé)將高級(jí)語(yǔ)言(定義為高于匯編程序的級(jí)別)轉(zhuǎn)換為目標(biāo)代碼(機(jī)器指令),然后(由鏈接器)鏈接到可執(zhí)行文件。

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

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


查看完整回答
反對(duì) 回復(fù) 2019-07-12
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

JIT-在需要的時(shí)候(按需),單詞本身就能及時(shí)地說(shuō)出來(lái)。

典型情景:

源代碼完全轉(zhuǎn)換為機(jī)器代碼。

JIT方案:

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

只有當(dāng)應(yīng)用程序所需的所需代碼僅轉(zhuǎn)換為機(jī)器代碼時(shí),才會(huì)將中間代碼轉(zhuǎn)換為機(jī)器語(yǔ)言。

JIT與非JIT比較:

  • 在JIT中,并不是所有的代碼都被轉(zhuǎn)換成機(jī)器代碼-首先,所需代碼的一部分將被轉(zhuǎn)換為機(jī)器代碼,然后如果調(diào)用的方法或功能不在機(jī)器中,那么它將被轉(zhuǎn)換為機(jī)器代碼.它減輕了CPU的負(fù)擔(dān)。

  • 由于機(jī)器代碼將在運(yùn)行時(shí)生成.JIT編譯器將生成為運(yùn)行機(jī)器的CPU體系結(jié)構(gòu)而優(yōu)化的機(jī)器代碼。

JIT實(shí)例:

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


查看完整回答
反對(duì) 回復(fù) 2019-07-12
  • 3 回答
  • 0 關(guān)注
  • 1192 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)