最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

全方位解讀JDK和JRE的區(qū)別及聯(lián)系

 更新時(shí)間:2024年03月26日 10:02:42   作者:振華OPPO  
這篇文章主要介紹了JDK和JRE的區(qū)別及聯(lián)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

大家應(yīng)該都知道JDK和JRE是什么的縮寫(xiě),但是當(dāng)面試官問(wèn)道 “請(qǐng)用你所學(xué)的java知識(shí),告訴我JDK是干什么的?” , “JRE有什么作用?” , “這兩者有什么區(qū)別和聯(lián)系?” 等問(wèn)題時(shí),可能就說(shuō)的不是很明白了。

下面我就詳細(xì)講述一下JDK和JRE之間的區(qū)別和聯(lián)系,為大家徹底理清JDK和JRE相關(guān)的知識(shí)。

話不多說(shuō),先上圖:

從圖中可以看出JDK是整個(gè)JAVA的核心,包括了Java運(yùn)行環(huán)境JRE(Java Runtime Envirnment)、一堆Java開(kāi)發(fā)工具(javac/java/jdb等)和Java基礎(chǔ)的類(lèi)庫(kù)(即Java API 包),下面開(kāi)始揭開(kāi)JDK和JRE的神秘面紗。

一、概念

JDK全稱(chēng)為Java Development Kit,顧名思義是java開(kāi)發(fā)工具包,是程序員使用java語(yǔ)言編寫(xiě)java程序所需的開(kāi)發(fā)工具包。

JRE全稱(chēng)為Java Runtime Environment,顧名思義是java運(yùn)行時(shí)的環(huán)境,包含了java虛擬機(jī),java基礎(chǔ)類(lèi)庫(kù),是使用java語(yǔ)言編寫(xiě)的程序運(yùn)行所需要的軟件環(huán)境。

二、區(qū)別

1、面向人群不同

JDK是提供給程序員使用的。JRE是提供給想運(yùn)行java程序的用戶(hù)使用的。

2、重要程度不同

  • 如果你需要編寫(xiě)java程序,需要安裝JDK。
  • 如果你需要運(yùn)行java程序,只需要安裝JRE就可以了。

3、安裝目錄不同

如果安裝JDK,電腦會(huì)有兩套JRE,一套是JDK中的JRE,位于 \jre 目錄下。

另外一套是JRE自己的,在下載安裝時(shí)默認(rèn)位于 C:\Program Files\Java\jre目錄下。

在這里博主當(dāng)時(shí)安裝JRE時(shí)是放到了D盤(pán),如圖:

  • E:\Java\jre

  • D:\Java\jre

如果只安裝JRE,會(huì)默認(rèn)在 C:\Program Files\Java 目錄下安裝唯一的一套JRE,位置可以選擇,這里博主放到了D盤(pán):

三、聯(lián)系

1、包含關(guān)系

JDK包含了JRE,同時(shí)還包含了編譯java源碼的編譯器javac,還包含了很多java程序調(diào)試和分析的工具(JConsole,Web Services等工具軟件),還包含了Java基礎(chǔ)的類(lèi)庫(kù)(即Java API 包括rt.jar)。

2、執(zhí)行關(guān)系

在這里首先就要提到JVM,JVM(Java Virtual Machine)就是我們常說(shuō)的java虛擬機(jī),它是整個(gè)java實(shí)現(xiàn)跨平臺(tái)的最核心的部分,所有的java程序會(huì)首先被編譯為.class的類(lèi)文件,這種類(lèi)文件可以在虛擬機(jī)上執(zhí)行。

也就是說(shuō)class并不直接與機(jī)器的操作系統(tǒng)相對(duì)應(yīng),而是經(jīng)過(guò)虛擬機(jī)間接與操作系統(tǒng)交互,由虛擬機(jī)將程序解釋給本地系統(tǒng)執(zhí)行。

只有JVM還不能成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+lib=jre

bin目錄中的jvm

lib中的jvm類(lèi)

JVM屏蔽了與具體操作系統(tǒng)平臺(tái)相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。

總而言之,我們利用JDK(調(diào)用JAVA API)開(kāi)發(fā)了屬于我們自己的JAVA程序后,通過(guò)JDK中的編譯程序(javac)將我們的文本java文件編譯成JAVA字節(jié)碼,在JRE上運(yùn)行這些JAVA字節(jié)碼,JVM解析這些字節(jié)碼,映射到CPU指令集或OS的系統(tǒng)調(diào)用。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Freemarker中的3種循環(huán)模式

    Freemarker中的3種循環(huán)模式

    這篇文章主要介紹了Freemarker中的3種循環(huán)模式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • springboot一鍵application.yml配置文件實(shí)踐

    springboot一鍵application.yml配置文件實(shí)踐

    application-dev.yml文件是Spring Boot項(xiàng)目中用于定義開(kāi)發(fā)環(huán)境配置的一個(gè)YAML格式文件,它包含了數(shù)據(jù)庫(kù)連接、服務(wù)器端口、日志級(jí)別、緩存配置等開(kāi)發(fā)過(guò)程中常用的設(shè)置,通過(guò)這個(gè)文件,開(kāi)發(fā)者可以在不同的環(huán)境中(如開(kāi)發(fā)、測(cè)試、生產(chǎn))切換配置,而無(wú)需修改代碼
    2026-02-02
  • Java中字符串的一些常見(jiàn)方法分享

    Java中字符串的一些常見(jiàn)方法分享

    這篇文章主要介紹了Java中字符串的一些常見(jiàn)方法,需要的朋友可以參考下
    2014-02-02
  • 解決springboot運(yùn)行出現(xiàn)錯(cuò)誤:找不到或無(wú)法加載主類(lèi)com.xxxx.xxxx.Application問(wèn)題

    解決springboot運(yùn)行出現(xiàn)錯(cuò)誤:找不到或無(wú)法加載主類(lèi)com.xxxx.xxxx.Application問(wèn)題

    文章介紹了在服務(wù)器上運(yùn)行一個(gè)未使用的Java項(xiàng)目時(shí)遇到的“找不到或無(wú)法加載主類(lèi)”錯(cuò)誤,并提供了兩種解決方法:通過(guò)Maven install或build …、Goals輸入install并跳過(guò)測(cè)試來(lái)重新構(gòu)建項(xiàng)目
    2024-11-11
  • java 各種數(shù)據(jù)類(lèi)型的互相轉(zhuǎn)換實(shí)例代碼

    java 各種數(shù)據(jù)類(lèi)型的互相轉(zhuǎn)換實(shí)例代碼

    這篇文章主要介紹了java 各種數(shù)據(jù)類(lèi)型的互相轉(zhuǎn)換實(shí)例代碼,需要的朋友可以參考下
    2020-10-10
  • Java實(shí)現(xiàn)高效刪除Excel中的空白行和列

    Java實(shí)現(xiàn)高效刪除Excel中的空白行和列

    在日常數(shù)據(jù)處理中,我們經(jīng)常會(huì)遇到需要處理Excel文件的情況,今天,我將為大家介紹如何利用Java和強(qiáng)大的Spire.XLS for Java庫(kù),自動(dòng)化、高效地解決這一痛點(diǎn),希望對(duì)大家有所幫助
    2025-11-11
  • Java中valueOf和parseInt的區(qū)別詳解

    Java中valueOf和parseInt的區(qū)別詳解

    這篇文章主要介紹了Java中valueOf和parseInt的區(qū)別詳解,在編程中,遇到類(lèi)型轉(zhuǎn)換,好像會(huì)經(jīng)常用到 parseInt 和 valueOf,當(dāng)然這里只拿 Integer 類(lèi)型進(jìn)行陳述,其他類(lèi)型也是雷同的,需要的朋友可以參考下
    2024-01-01
  • Java中SpringBoot的TCC事務(wù)詳解

    Java中SpringBoot的TCC事務(wù)詳解

    這篇文章主要介紹了Java中SpringBoot的TCC事務(wù)詳解,近年來(lái),隨著微服務(wù)架構(gòu)的普及,TCC?事務(wù)成為了一種非常流行的分布式事務(wù)解決方案,在?Spring?Boot?中,我們可以很容易地使用?TCC?事務(wù)來(lái)管理分布式事務(wù),需要的朋友可以參考下
    2023-07-07
  • Java生成訂單號(hào)或唯一id的高并發(fā)方案(4種方法)

    Java生成訂單號(hào)或唯一id的高并發(fā)方案(4種方法)

    本文主要介紹了Java生成訂單號(hào)或唯一id的高并發(fā)方案,包括4種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • Spring MVC實(shí)現(xiàn)的登錄攔截器代碼分享

    Spring MVC實(shí)現(xiàn)的登錄攔截器代碼分享

    這篇文章主要介紹了Spring MVC實(shí)現(xiàn)的登錄攔截器代碼分享,涉及攔截器的簡(jiǎn)單介紹,攔截器和過(guò)濾器的區(qū)以及攔截器實(shí)現(xiàn)代碼等相關(guān)內(nèi)容,這里分享給大家,供需要的朋友參考。
    2017-10-10

最新評(píng)論

西乡县| 长春市| 宣城市| 马龙县| 玛纳斯县| 余姚市| 布尔津县| 鄄城县| 静安区| 类乌齐县| 许昌县| 马关县| 资源县| 上思县| 安福县| 昭通市| 平阴县| 吉安市| 通许县| 嫩江县| 来凤县| 奎屯市| 黑水县| 祁阳县| 赤峰市| 梧州市| 江源县| 阳高县| 奇台县| 天津市| 庐江县| 江陵县| 阿拉善盟| 常州市| 乌审旗| 红河县| 宜兰市| 宜良县| 郓城县| 金阳县| 安徽省|