java jit是什么,讓我們一起了解一下?
jit是即時編譯器,這是是針對解釋型語言而言的,而且并非虛擬機必須,也是一種優化手段,Java的商用虛擬機HotSpot就有這種技術手段,Java虛擬機標準對JIT的存在沒有作出任何規范,所以這是虛擬機實現的自定義優化技術。
HotSpot虛擬機的執行引擎在執行Java代碼是可以采用【解釋執行】和【編譯執行】兩種方式的,如果采用的是編譯執行方式,那么就會使用到JIT,而解釋執行就不會使用到JIT,所以,早期說Java是解釋型語言,是沒有任何問題的,而在擁有JIT的Java虛擬機環境下,說Java是解釋型語言嚴格意義上已經不正確了。
HotSpot中的編譯器是javac,他的工作是將源代碼編譯成字節碼,這部分工作是完全獨立的,完全不需要運行時參與,所以Java程序的編譯是半獨立的實現。有了字節碼,就有解釋器來進行解釋執行,這是早期虛擬機的工作流程,后來,虛擬機會將執行頻率高的方法或語句塊通過JIT編譯成本地機器碼,提高了代碼執行的效率,至此你已經了解了JIT在Java虛擬機中所處的地位和工作的主要內容。
示例代碼操作:混合模式
C:\Users\Administrator>java?-version java?version?"1.8.0_144" Java(TM)?SE?Runtime?Environment?(build?1.8.0_144-b01) Java?HotSpot(TM)?64-Bit?Server?VM?(build?25.144-b01,?mixed?mode) ```shell C:\Users\Administrator>java?-version java?version?"1.8.0_144" Java(TM)?SE?Runtime?Environment?(build?1.8.0_144-b01) Java?HotSpot(TM)?64-Bit?Server?VM?(build?25.144-b01,?mixed?mode)
以上就是小編今天的分享了,希望可以幫助到大家。