JDK、JRE及JVM的關(guān)系及作用,你未必真的知道。更多內(nèi)容詳見公眾hao:云水致誠
1、JDK
JDK(Java Development Kit)是java程序的開發(fā)工具集,包含了運行環(huán)境JRE、開發(fā)工具及基礎(chǔ)類庫等。
注意:
- 生產(chǎn)環(huán)境,目前使用JDK同時作為開發(fā)和運行環(huán)境的比較多,主要是為了排查問題方便的同時不用切換運行環(huán)境版本,但不建議在流量高峰時使用JDK工具來排查問題,因為很有可能因為使用不當(dāng)而影響程序正常運行。
- 建議JDK選用LTS長期支持版本,截止當(dāng)前時間,JDK的LTS版本有:8、11、17,建議至少選用8以上版本。
2、JRE
JRE(Java Runtime Environment)是java程序的運行時環(huán)境,包含JVM標(biāo)準(zhǔn)實現(xiàn)和核心類庫等。
在JDK安裝路徑或獨立JRE安裝路徑下,有個名為jre或jrex.x.x_x(如:jre1.8.0_261)的目錄,里面有兩個文件夾bin和lib,可以理解為bin下是與JVM交互的工具,lib中則是JVM工作所需要依賴庫,而bin和lib合起來可簡單理解為jre環(huán)境。
注意:從JDK11開始,Java取消了獨立的JRE安裝包。
3、JVM
JVM(Java Virtual Machine)是java程序運行的虛擬機,是java實現(xiàn)跨平臺的最核心部分,它能夠運行以java語言編寫的任何軟件程序。
因此,JDK、JRE及JVM的關(guān)系:JDK包含JRE,JRE包含JVM,所以它們之間的關(guān)系從大到小依次為:JDK->JRE->JVM。
注意:在JDK11之前,若我們使用了獨立的JRE環(huán)境,此時JDK與JRE是同級關(guān)系,若我們使用JDK環(huán)境,此時JDK包含JRE環(huán)境。
4、跨平臺文章來源:http://www.zghlxwxcb.cn/news/detail-733479.html
- Java程序源代碼會被編譯成.class字節(jié)碼文件;
- .class字節(jié)碼文件會在JVM虛擬機上被加載解析;
- 虛擬機翻譯.class成各平臺運行指令,實現(xiàn)一次編譯,到處運行;
5、常見面試題文章來源地址http://www.zghlxwxcb.cn/news/detail-733479.html
- 描述JDK、JRE及JVM之間的關(guān)系及各自作用?
- 簡單描述Java程序一次編譯,到處運行的流程??
到了這里,關(guān)于JDK、JRE及JVM的關(guān)系及作用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!