即時編譯器

即時編譯器

在Java程式語言和環境中,即時編譯器(JIT compiler,just-in-time compiler)是一個把Java的位元組碼(包括需要被解釋的指令的程式)轉換成可以直接傳送給處理器的指令的程式。

Java程式語言和環境中,即時編譯器(JIT compiler,just-in-timecompiler)是一個把Java的位元組碼(包括需要被解釋的指令的程式)轉換成可以直接傳送給處理器(processor)的指令的程式。當你寫好一個Java程式後,源語言的語句將由Java前端編譯器(javac或者Eclipse JDT中的增量式編譯器)編譯成位元組碼,而不是編譯成與某個特定的處理器硬體平台對應的本地指令代碼(比如,Intel的Pentium微處理器或IBM的System/390處理器)。位元組碼是可以傳送給任何平台並且能在那個平台上運行的獨立於平台的代碼。
過去,大多數用任何語言寫的程式在每個電腦平台上都必須重編譯,甚至有時需要重寫。Java最大的優點之一就是你只需要寫和編譯一次程式。在任何平台上,Java都會將編譯好的位元組碼解釋成能被特定的處理器所理解的指令(即一次編譯,到處運行)。儘管如此,Java虛擬機一次只能處理一條位元組碼指令。在特定的系統平台上使用Java即時編譯器(包括C1,C2 兩個即時編譯器)能把位元組碼編譯成特定系統的代碼(雖然這個程式最初已經在這個平台上被編譯過)。一旦代碼被JIT編譯器(重)編譯後,它在電腦上通常就會運行地更快。
即時編譯器(JIT compiler)隨虛擬機一起供給的,並可選使用。它把位元組碼編譯成可立即執行的指定平台的可執行代碼。Sun微系統建議,選擇JIT編譯器選項通常會使程式運行地更快,尤其是當某個可執行的方法被重複使用時。

相關詞條

熱門詞條

聯絡我們