複製鏈接
請複製以下鏈接發送給好友

JIT編譯

鎖定
JIT 編譯 (JIT compilation),運行時需要代碼時,將 Microsoft 中間語言 (MSIL) 轉換為機器碼的編譯。
中文名
JIT編譯
外文名
JIT compilation
含    義
中間語言轉換為機器碼的編譯
做    法
JIT將該函數編譯成機器語言
interpretation:解釋就是把源程序以句為單位,每句每句的解釋並執行,如果語句出現在循環體當中,比如循環10次,該語句就要被解釋執行10次.不產生目標代碼.
compilation:編譯是把源代碼一次性翻譯成目標代碼,目標代碼可能是可直接運行的機器語言,或是已存在相應翻譯器的不可執行語言.
just-in-time compilation的意思是説,首先仍然是compilation,有caching,不用象解釋那樣把循環體裏面出現的代碼重複解釋;同時有目標機器代碼.這是相對於interpretation的好處.另外相對於static compilation的好處是,在編譯過程對代碼進行優化.選擇性的編譯某個函數或任意某段代碼.
JIT具體的做法是這樣的:當載入一個類型時,CLR為該類型創建一個內部數據結構和相應的函數,當函數第一被調用時,JIT將該函數編譯成機器語言.當再次遇到該函數時則直接從cache中執行已編譯好的機器語言.