詳解Java中的JDK、JRE、JVM
JDK、JRE、JVM
JDK包含JRE,而JRE包含JVM
JDK(Java Development Kit)是針對(duì)Java開(kāi)發(fā)員的產(chǎn)品,是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境JRE、Java工具和Java基礎(chǔ)類(lèi)庫(kù)。Java Runtime Environment(JRE)是運(yùn)行JAVA程序所必須的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實(shí)現(xiàn)及Java核心類(lèi)庫(kù)。JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫(xiě),是整個(gè)java實(shí)現(xiàn)跨平臺(tái)的最核心的部分,能夠運(yùn)行以Java語(yǔ)言寫(xiě)作的軟件程序。
JDK
- JDK是Java開(kāi)發(fā)工具包,是Sun Microsystems針對(duì)Java開(kāi)發(fā)員的產(chǎn)品。
- JDK中包含JRE,在JDK的安裝目錄下有一個(gè)名為jre的目錄,里面有兩個(gè)文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類(lèi)庫(kù),而jvm和 lib和>起來(lái)就稱(chēng)為jre。
- JDK是整個(gè)JAVA的核心,包括了Java運(yùn)行環(huán)境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基礎(chǔ)的類(lèi)庫(kù)(即Java API 包括>rt.jar)。
Java Runtime Environment(JRE)
- JRE是運(yùn)行基于Java語(yǔ)言編寫(xiě)的程序所不可缺少的運(yùn)行環(huán)境。也是通過(guò)它,Java的開(kāi)發(fā)者才得以將自己開(kāi)發(fā)的程序發(fā)布到用戶(hù)手中,讓用戶(hù)使用。
- JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,這些是運(yùn)行Java程序的必要組件。
- 與JDK不同,JRE是Java運(yùn)行環(huán)境,并不是一個(gè)開(kāi)發(fā)環(huán)境,所以沒(méi)有包含任何開(kāi)發(fā)工具(如編譯器和調(diào)試器),只是針對(duì)于使用Java程序的用戶(hù)。
JVM
- JVM是整個(gè)java實(shí)現(xiàn)跨平臺(tái)的最核心的部分,所有的java程序會(huì)首先被編譯為.class的類(lèi)文件,這種類(lèi)文件可以在虛擬機(jī)上執(zhí)行。class并不直接與機(jī)器的操作系統(tǒng)相對(duì)應(yīng),而是經(jīng)過(guò)虛擬機(jī)間接與操作系統(tǒng)交互,由虛擬機(jī)將程序解釋給本地系統(tǒng)執(zhí)行。
- 只有JVM還不能產(chǎn)生class的執(zhí)行,因?yàn)樵诮忉宑lass的時(shí)候JVM需要調(diào)用解釋所需要的類(lèi)庫(kù)lib,而jre包含lib類(lèi)庫(kù)。在JDK下面的的jre目錄里面有兩個(gè)文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類(lèi)庫(kù),而jvm和 lib和起來(lái)就稱(chēng)為jre。JVM屏蔽了與具體操作系統(tǒng)平臺(tái)相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
springboot如何將http轉(zhuǎn)https
這篇文章主要介紹了springboot如何將http轉(zhuǎn)https,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
Java后臺(tái)返回和處理JSon數(shù)據(jù)的方法步驟
這篇文章主要介紹了Java后臺(tái)返回和處理JSon數(shù)據(jù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
SpringBoot請(qǐng)求參數(shù)接收控制指南分享
這篇文章主要介紹了SpringBoot請(qǐng)求參數(shù)接收控制指南,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
SpringBoot依賴(lài)注入的詳細(xì)介紹、使用技巧
在Spring Boot中,依賴(lài)注入是一項(xiàng)關(guān)鍵的特性,它通過(guò)容器來(lái)管理和注入應(yīng)用程序中的各種組件,本文介紹SpringBoot依賴(lài)注入的詳細(xì)介紹、使用技巧,感興趣的朋友一起看看吧2024-01-01
java使用MulticastSocket實(shí)現(xiàn)基于廣播的多人聊天室
這篇文章主要為大家詳細(xì)介紹了java使用MulticastSocket實(shí)現(xiàn)基于廣播的多人聊天室,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
Mybatis 級(jí)聯(lián)刪除的實(shí)現(xiàn)
這篇文章主要介紹了Mybatis 級(jí)聯(lián)刪除的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
spring boot@EnableXXXX注解編程模型講解
這篇文章主要介紹了spring boot@EnableXXXX注解編程模型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

