網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

jit|java

欄目: IT科技 / 發佈於: / 人氣:2.01W

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java jit是什麼,讓我們一起了解一下?

jit是即時編譯器,這是是針對解釋型語言而言的,而且並非虛擬機必須,也是一種優化手段,Java的商用虛擬機HotSpot就有這種技術手段,Java虛擬機標準對JIT的存在沒有作出任何規範,所以這是虛擬機實現的自訂優化技術。

HotSpot虛擬機的執行引擎在執行Java代碼是可以採用【解釋執行】和【編譯執行】兩種方式的,如果採用的是編譯執行方式,那麼就會使用到JIT,而解釋執行就不會使用到JIT,所以,早期說Java是解釋型語言,是沒有任何問題的,而在擁有JIT的Java虛擬機環境下,說Java是解釋型語言嚴格意義上已經不正確了。

java jit

HotSpot中的編譯器是javac,他的工作是將原始碼編譯成字節碼,這部分工作是完全獨立的,完全不需要執行時參與,所以Java程序的編譯是半獨立的實現。有了字節碼,就有解釋器來進行解釋執行,這是早期虛擬機的工作流程,後來,虛擬機會將執行頻率高的方法或語句塊透過JIT編譯成本地機器碼,提高了代碼執行的效率,至此你已經瞭解了JIT在Java虛擬機中所處的地位和工作的主要內容。

示例代碼操作:混合模式

C:UsersAdministrator>java -versionjava 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)```shellC:UsersAdministrator>java -versionjava 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)

Tags:java jit