中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

.Net Discovery 系列之五--Me JIT(上)

系列文章導(dǎo)航:

.NET Discovery 系列之一--string從入門到精通(上)

.NET Discovery 系列之二--string從入門到精通(勘誤版下)

.NET Discovery 系列之三--深入理解.NET垃圾收集機(jī)制(上)

.NET Discovery 系列之四--深入理解.NET垃圾收集機(jī)制(下)

.NET Discovery 系列之五--Me JIT(上)

.NET Discovery 系列之六--Me JIT(下)

.NET Discovery 系列之七--深入理解.NET垃圾收集機(jī)制(拾貝篇)


  JIT(Just In Time簡稱JIT)是.NET邊運(yùn)行邊編譯的一種機(jī)制,這種機(jī)制的命名來源于豐田汽車在20世紀(jì)60年代實行的一種生產(chǎn)方式,中文譯為“準(zhǔn)時制”。

  .NET 的JIT編譯器在設(shè)計初衷和運(yùn)行方式來上講,都與豐田汽車的這種“準(zhǔn)時生產(chǎn)”思想體系有著很大的相似之處,所以讓我們先來透過“準(zhǔn)時生產(chǎn)”方式來理解.NET的JIT機(jī)制吧。

  “準(zhǔn)時生產(chǎn)”的基本思想可概括為“在需要的時候,按需要的量生產(chǎn)所需的產(chǎn)品”,這正是.NET JIT編譯器的設(shè)計初衷,即在需要的時候編譯需要的代碼。

  第一節(jié).Me JIT

  以C#為例,在C#代碼運(yùn)行前,一般會經(jīng)過兩次編譯,第一階段是C#代碼向MSIL的編譯,第二階段是IL向本地代碼的編譯。第一階段的編譯成果是生成托管模塊,第二階段的編譯成果是生成本地代碼以供運(yùn)行,從這里各位同學(xué)可以看出,第一階段生成的MSIL是不能直接運(yùn)行的。

  這里先要解釋一下什么是MSIL和托管模塊。

  MSIL:

  MSIL 全稱為Microsoft Intermediate Language,中文譯為“微軟中間語言”,它是一種介于高級語言和匯編語言之間的偽匯編語言(姑且這么叫,各位有不同意見的同學(xué)不必激動)。當(dāng)用戶編譯運(yùn)行一個.NET程序時,高級語言編譯器會將源代碼翻譯成一組可以獨(dú)立于CPU的指令。

  可以看出IL 包括用于加載(ldstr )、存儲(壓棧、彈棧)和初始化對象(locals)以及調(diào)用對象方法(call)的指令,還包括用于算術(shù)和邏輯運(yùn)算、控制流、直接內(nèi)存訪問、異常處理和其他操作的指令。

  C#代碼:

string str_test = "test";
System.String Str_test
= "test";

NET技術(shù).Net Discovery 系列之五--Me JIT(上),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 最新中文字幕在线播放 | 久久婷婷av | 亚洲国产精品第一区二区 | 国产重口老太伦 | 国产精品久久久久久久久久久久久久 | 毛片国产| 观看av| 精品一区久久 | 久久久久亚洲精品 | 精品中文在线 | 日本成人毛片 | 999精品网 | 午夜影院官网 | www.中文字幕.com | 欧美色性| 久久一| 国产区在线 | 欧美成人h版在线观看 | 欧美精品在线播放 | 亚洲一区二区久久 | 亚洲一区二区精品视频 | 日韩av在线一区二区 | 日本不卡免费新一二三区 | 97人人澡人人爽91综合色 | 天堂综合网| 亚洲国产午夜 | 欧美99 | 欧美在线a | 黄色欧美| 啪啪免费| 欧美激情网站 | 91精品久久久久久久久久入口 | 亚洲国产精品久久久久 | 亚洲欧美日韩国产综合 | 亚洲精品国产a久久久久久 午夜影院网站 | 日韩精品成人av | 精品亚洲一区二区 | 日韩在线视频一区 | 亚洲精品视频在线观看视频 | 在线视频国产一区 | 国产日韩精品一区二区 |