目錄
JVM、JRE、JDK的關(guān)系?
?JDK、JRE、JVM都是什么?
JVM
JRE
JDK
JVM、JRE、JDK的關(guān)系?
三者包含關(guān)系:
JDK>JRE>JVM
?JDK、JRE、JVM都是什么?
jdk:是用于java開發(fā)的最小環(huán)境 包括:java程序設(shè)計(jì)語言、Java虛擬機(jī),java類庫
jre:是java程序運(yùn)行的標(biāo)準(zhǔn)環(huán)境。包含java虛擬機(jī),Java類庫
jvm:java虛擬機(jī)
JVM
JVM全稱(Java Virtual Machine),就是我們很耳熟的Java虛擬機(jī)。它能夠識別.class后綴的文件,并且能夠解析它的指令,最終調(diào)用操作系統(tǒng)上的函數(shù),完成我們想要的操作。
其實(shí)就相當(dāng)于我們的操作系統(tǒng),是負(fù)責(zé)翻譯或者解釋.class文件的,識別.class中的指令,從而調(diào)用操作系統(tǒng)中的指令。
在C和C++中,編譯成的二進(jìn)制文件是操作系統(tǒng)能夠直接看懂的,java編譯成的.class文件則是操作系統(tǒng)不認(rèn)識的,還需要使用java命令去執(zhí)行它
可以理解為java程序其實(shí)就是在JVM中運(yùn)行的,JVM是使Java程序能夠運(yùn)行并且能夠使之跨平臺運(yùn)行的核心。
JRE
JVM雖然功能強(qiáng)大,但是還是需要其他的小伙伴給它提供原料(.class文件
)。
如果只是靠JVM是無法實(shí)現(xiàn)java的一次編譯到處運(yùn)行的,他還需要一個(gè)基本的類庫,也就是API
java體系中,當(dāng)一個(gè)程序運(yùn)行時(shí),JVM也會一起運(yùn)行和一起銷毀,會一次性將JVM運(yùn)行所需的類庫都傳遞給它。JVM標(biāo)準(zhǔn)加上實(shí)現(xiàn)的一大堆基礎(chǔ)類庫,就組成了java的運(yùn)行時(shí)環(huán)境 也就是JRE
有了JRE之后,我們就可以在任意系統(tǒng)中運(yùn)行java程序了
JDK
當(dāng)我們只想運(yùn)行java程序的話,只需要jre就可以了,但是如果想編寫java程序就需要用到j(luò)dk
需要注意的是:這里所說的java程序指的是.class文件,可以直接理解為jdk就是將.java文件編譯成.class文件,然后交給jre去執(zhí)行文章來源:http://www.zghlxwxcb.cn/news/detail-588909.html
JDK是工具,JRE是環(huán)境文章來源地址http://www.zghlxwxcb.cn/news/detail-588909.html
到了這里,關(guān)于JDK、JRE、JVM之間的關(guān)系是什么?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!