當前位置:科普知識站>IT科技>

java|jit

IT科技 閱讀(2.12W)

<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)