淺談JDK、JRE、JVM三者之間的關(guān)系
一、關(guān)系

JDK = JRE + Java 開(kāi)發(fā)工具包 [Java,Javac,Javadoc,Javap等]
JRE = JVM + Java 的核心類(lèi)庫(kù)
二、JDK,JRE與JVM介紹
1、JDK
JDK是用于Java程序開(kāi)發(fā)的最小環(huán)境,包含:Java程序設(shè)計(jì)語(yǔ)言,Java虛擬機(jī)(JVM),Java類(lèi)庫(kù)(API)。它能夠創(chuàng)建和編譯程序
2、JRE
JRE是Java程序運(yùn)行的標(biāo)準(zhǔn)環(huán)境。包含:Java類(lèi)庫(kù)和Java虛擬機(jī)(JVM)。如果想運(yùn)行一個(gè)開(kāi)發(fā)好的Java程序,計(jì)算機(jī)中只需要安裝JRE即可。
JDK用于java程序的開(kāi)發(fā),JRE只能運(yùn)行class而沒(méi)有編譯的功能。
3、JVM
什么是JVM——Java虛擬機(jī),它是 Java 實(shí)現(xiàn)平臺(tái)無(wú)關(guān)性的基石。
Java 程序運(yùn)行的時(shí)候,編譯器將 Java 文件編譯成平臺(tái)無(wú)關(guān)的 Java 字節(jié)碼文件(.class),接下來(lái)對(duì)應(yīng)平臺(tái) JVM 對(duì)字節(jié)碼文件進(jìn)行解釋?zhuān)g成對(duì)應(yīng)平臺(tái)匹配的機(jī)器指令并運(yùn)行。

三、區(qū)別
- 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ù)。
- JRE(Java Runtime Environment)是運(yùn)行JAVA程序所必須的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實(shí)現(xiàn)及Java核心類(lèi)庫(kù)。
- JVM(Java Virtual Machine)即Java虛擬機(jī),是整個(gè)java實(shí)現(xiàn)跨平臺(tái)的最核心的部分,能夠運(yùn)行以Java語(yǔ)言寫(xiě)作的軟件程序。
到此這篇關(guān)于淺談JDK、JRE、JVM三者之間的關(guān)系的文章就介紹到這了,更多相關(guān)JDK JRE JVM內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java讀取properties文件內(nèi)容的幾種方式詳解
這篇文章主要介紹了Java讀取properties文件內(nèi)容的幾種方式詳解,讀取properties配置文件在實(shí)際的開(kāi)發(fā)中使用的很多,本文來(lái)介紹常用的幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2023-11-11
基于surging跨網(wǎng)關(guān)跨語(yǔ)言進(jìn)行緩存降級(jí)的問(wèn)題小結(jié)
surging是一款開(kāi)源的微服務(wù)引擎,包含了rpc服務(wù)治理,中間件,以及多種外部協(xié)議來(lái)解決各個(gè)行業(yè)的業(yè)務(wù)問(wèn)題,這篇文章主要介紹了如何基于surging跨網(wǎng)關(guān)跨語(yǔ)言進(jìn)行緩存降級(jí),需要的朋友可以參考下2024-05-05
mybatis對(duì)象List<String> List<Integer>屬性映射方式
這篇文章主要介紹了mybatis對(duì)象List<String> List<Integer>屬性映射方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
IntelliJ IDEA JRebel 安裝使用圖文教程(熱部署插件)
IDEA 全稱(chēng) IntelliJ IDEA,是java語(yǔ)言開(kāi)發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開(kāi)發(fā)工具之一。這篇文章主要介紹了IntelliJ IDEA 熱部署插件JRebel 安裝使用圖文教程,需要的朋友可以參考下2018-03-03
java中優(yōu)化大量if...else...方法總結(jié)
在我們平時(shí)的開(kāi)發(fā)過(guò)程中,經(jīng)??赡軙?huì)出現(xiàn)大量If else的場(chǎng)景,代碼顯的很臃腫,非常不優(yōu)雅,下面這篇文章主要給大家介紹了關(guān)于java中優(yōu)化大量if...else...方法的相關(guān)資料,需要的朋友可以參考下2023-03-03
Spring?Boot用戶(hù)注冊(cè)驗(yàn)證的實(shí)現(xiàn)全過(guò)程記錄
最近在設(shè)計(jì)自己的博客系統(tǒng),涉及到用戶(hù)注冊(cè)與登錄驗(yàn)證,所以下面這篇文章主要給大家介紹了關(guān)于Spring?Boot用戶(hù)注冊(cè)驗(yàn)證的實(shí)現(xiàn)全過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01
面試與實(shí)戰(zhàn)必備:掌握J(rèn)ava并發(fā)編程關(guān)鍵知識(shí)點(diǎn)(線(xiàn)程池/CAS/性能優(yōu)化)
本文從工程視角系統(tǒng)梳理Java并發(fā)編程的關(guān)鍵知識(shí)點(diǎn),主要內(nèi)容包括:并發(fā)問(wèn)題的本質(zhì)、Java內(nèi)存模型、volatile和synchronized、Lock與AQS、線(xiàn)程池、Future與CompletableFuture、CAS與原子類(lèi)、并發(fā)容器、死鎖與線(xiàn)上排查、并發(fā)性能優(yōu)化思路等一些常用代碼片段2026-05-05

