JRE、JDK、JVM 及 JIT 之間有什麼不同

Java虛擬機(JVM)

使用Java編程語言的主要優勢就是平臺的獨立性。你曾經想知道過Java怎麼實現平臺的獨立性嗎?對,就是虛擬機,它抽象化了硬件設備,開發者和他們的程序的得以操作系統。虛擬機的職責就是處理和操作系統的交流。Java不同的接口規範對任何平臺都有良好的支持,因爲JVM很好的實現了每個平臺的規範。JVM可以理解僞代碼字節碼,在用戶和操作系統之間建立了一層樞紐。 Java運行時環境(JRE) 
Java運行時環境是JVM的一個超集。JVM對於一個平臺或者操作系統是明確的,而JRE確實一個一般的概念,他代表了完整的運行時環境。我們在JRE文件夾中看到的所有的JRE文件和可執行文件都會變成運行時的一部分。事實上,運行時JRE變成了JVM。所以對於一般情況時候使用JRE,對於明確的操作系統來說使用JVM。當你下載了JRE的時候,也就自動下載了JVM。

 
Java開發工具箱(JDK)

Java開發工具箱指的是編寫一個java應用所需要的所有jar文件和可執行文件。事實上,JRE是JKD的一部分。如果你下載了JDK,你會看到一個名叫JRE的文件夾在裏面。JDK中要被牢記的jar文件就是tools.jar,它包含了用於執行Java文檔的類還有用於類簽名的jar包。 


即時編譯器(JIT)

即時編譯器是種特殊的編譯器,它通過有效的把字節碼變成機器碼來提高JVM的效率。JIT這種功效很特殊,因爲他把檢測到的相似的字節碼編譯成單一運行的機器碼,從而節省了CPU的使用。這和其他的字節碼編譯器不同,因爲他是運行時(第一類執行的編譯?)the firs of its kind to perform the compilation(從字節碼到機器碼)而不是在程序運行之前。正是因爲這些,動態編譯這個詞彙才和JIT有那麼緊密的關係。
--------------------- 
作者:一隻小羊羔 
來源:CSDN 
原文:https://blog.csdn.net/guan_sen/article/details/78769591 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章