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

簡(jiǎn)單談?wù)凧VM、JRE和JDK的區(qū)別與聯(lián)系

 更新時(shí)間:2016年05月11日 11:18:59   投稿:hebedich  
簡(jiǎn)單的說(shuō)JDK是用于開(kāi)發(fā)的而JRE是用于運(yùn)行Java程序的。JDK和JRE都包含了JVM,從而使得我們可以運(yùn)行Java程序。JVM是Java編程語(yǔ)言的核心并且具有平臺(tái)獨(dú)立性。

為了學(xué)習(xí)數(shù)據(jù)庫(kù),重裝了系統(tǒng),之前前一直在用eclipse,現(xiàn)在準(zhǔn)備換成myeclipse,這之前當(dāng)然需要重新設(shè)置環(huán)境變量,順手寫(xiě)下有關(guān)jdk、jre與jvm的區(qū)別與聯(lián)系以供交流參考。

首先來(lái)說(shuō)一下JDK
JDK(Java Development Kit) 是 Java 語(yǔ)言的軟件開(kāi)發(fā)工具包(SDK)。
JDK是整個(gè)JAVA的核心,包括了Java運(yùn)行環(huán)境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎(chǔ)的類(lèi)庫(kù)(即Java API )。
有以下三種版本:
SE(J2SE),standard edition,標(biāo)準(zhǔn)版,是我們通常用的一個(gè)版本,從JDK 5.0開(kāi)始,改名為Java SE。
EE(J2EE),enterprise edition,企業(yè)版,使用這種JDK開(kāi)發(fā)J2EE應(yīng)用程序,從JDK 5.0開(kāi)始,改名為Java EE。
ME(J2ME),micro edition,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序,從JDK 5.0開(kāi)始,改名為Java ME。


再來(lái)談?wù)凧RE
JRE為Java Runtime Environment的簡(jiǎn)稱(chēng),Java Runtime Environment(包括Java Plug-in)是Sun的產(chǎn)品,包括兩部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上運(yùn)行、測(cè)試和傳輸應(yīng)用程序的Java平臺(tái)。它包括Java虛擬機(jī)(jvm)、Java核心類(lèi)庫(kù)和支持文件。它不包含開(kāi)發(fā)工具(JDK)--編譯器、調(diào)試器和其它工具。JRE需要輔助軟件--Java Plug-in--以便在瀏覽器中運(yùn)行applet。
沒(méi)有JDK的話(huà),無(wú)法編譯Java程序,但在有JRE環(huán)境的系統(tǒng)上可以運(yùn)行程序。所以當(dāng)你只需要運(yùn)行Java程序或Applet,下載并安裝JRE即可。如果你要自行開(kāi)發(fā) Java軟件,請(qǐng)下載JDK。


最后再來(lái)了解一下JVM
JVM即Java Virtual Machine(Java虛擬機(jī)),JVM是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。
Java語(yǔ)言的一個(gè)非常重要的特點(diǎn)就是與平臺(tái)的無(wú)關(guān)性。而使用Java虛擬機(jī)是實(shí)現(xiàn)這一特點(diǎn)的關(guān)鍵。一般的高級(jí)語(yǔ)言如果要在不同的平臺(tái)上運(yùn)行,至少需要編譯成不同的目標(biāo)代碼。而引入Java語(yǔ)言虛擬機(jī)后,Java語(yǔ)言在不同平臺(tái)上運(yùn)行時(shí)不需要重新編譯。Java語(yǔ)言使用Java虛擬機(jī)屏蔽了與具體平臺(tái)相關(guān)的信息,使得Java語(yǔ)言編譯程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。Java虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),把字節(jié)碼解釋成具體平臺(tái)上的機(jī)器指令執(zhí)行。這就是Java的能夠“一次編譯,到處運(yùn)行”的原因。
這是三者的關(guān)系圖:

我們開(kāi)發(fā)的實(shí)際情況是:我們利用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)用。

JVM(Java Virtual Machine),即Java虛擬機(jī)

JVM屏蔽了與具體操作系統(tǒng)平臺(tái)相關(guān)的信息,使Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。JVM在執(zhí)行字節(jié)碼時(shí),實(shí)際上最終還是把字節(jié)碼解釋成具體平臺(tái)上的機(jī)器指令執(zhí)行。編譯虛擬機(jī)的指令集與編譯微處理器的指令集非常類(lèi)似。

JVM是Java語(yǔ)言跨平臺(tái)(這里的“平臺(tái)”是指不同的操作系統(tǒng))的基礎(chǔ),要想在不同的操作系統(tǒng)上運(yùn)行Java程序,就需要在不同操作系統(tǒng)上安裝對(duì)應(yīng)的JVM。所以,JVM有Windows版本、MAC版本、Linux版本等。

JRE(Java Runtime Environment),即Java運(yùn)行環(huán)境

JRE包括Java虛擬機(jī)和Java程序所需的核心類(lèi)庫(kù)。如果要想運(yùn)行一個(gè)開(kāi)發(fā)好的Java程序,只需要在計(jì)算機(jī)中安裝JRE即可。

總結(jié):JRE=JVM+Java類(lèi)庫(kù)

JDK(Java Development Kit),即Java開(kāi)發(fā)工具包

JDK是提供給Java開(kāi)發(fā)人員使用的,包含了JRE和一些Java開(kāi)發(fā)工具,如編譯工具(javac.exe)、打包工具(jar.exe)等。所以安裝了JDK就不需要再安裝JRE了。

作為Java語(yǔ)言的學(xué)習(xí)者,我們必須安裝JDK,沒(méi)有JDK,我們是沒(méi)有辦法編譯和運(yùn)行Java代碼的,這也是幾乎所有的Java入門(mén)教程推薦我們安裝JDK的原因。

總結(jié):JDK=JRE+Java開(kāi)發(fā)工具

如何作出選擇

選擇的標(biāo)準(zhǔn)是按需選擇,如果我們僅僅想運(yùn)行現(xiàn)成的Java程序,安裝JRE即可;如果我們想開(kāi)發(fā)Java程序,必須安裝JDK。

相關(guān)文章

  • 比較排序之冒泡排序的實(shí)現(xiàn)

    比較排序之冒泡排序的實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇比較排序之冒泡排序的小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧實(shí)現(xiàn)。
    2017-06-06
  • Java抽象類(lèi)與接口超詳細(xì)圖文解析

    Java抽象類(lèi)與接口超詳細(xì)圖文解析

    Java抽象類(lèi)與接口是核心工具,抽象類(lèi)包含部分實(shí)現(xiàn),接口定義行為規(guī)范,這篇文章主要介紹了Java抽象類(lèi)與接口的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-07-07
  • 如何解決LocalDate返回?cái)?shù)組的問(wèn)題

    如何解決LocalDate返回?cái)?shù)組的問(wèn)題

    返回LocalDate字段時(shí)前端顯示為數(shù)組,因未指定格式,添加@JsonFormat注解并設(shè)置pattern屬性,可將日期格式化為yyyy-MM-dd,解決前端解析異常問(wèn)題
    2025-07-07
  • java 使用過(guò)濾器實(shí)現(xiàn)登錄攔截處理

    java 使用過(guò)濾器實(shí)現(xiàn)登錄攔截處理

    這篇文章主要介紹了java 使用過(guò)濾器實(shí)現(xiàn)登錄攔截處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • springboot?jdbcTemplate?多源配置及特殊場(chǎng)景使用說(shuō)明

    springboot?jdbcTemplate?多源配置及特殊場(chǎng)景使用說(shuō)明

    文章講解Spring?Boot中JdbcTemplate多數(shù)據(jù)源配置,涵蓋單服務(wù)器多庫(kù)與多服務(wù)器多庫(kù)兩種模式,本文結(jié)合特殊場(chǎng)景使用分析給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-07-07
  • Java中return的用法(兩種)

    Java中return的用法(兩種)

    這篇文章主要介紹了Java中return的用法(兩種)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Springboot中用 Netty 開(kāi)啟UDP服務(wù)方式

    Springboot中用 Netty 開(kāi)啟UDP服務(wù)方式

    這篇文章主要介紹了Springboot中用 Netty 開(kāi)啟UDP服務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 通過(guò)代碼實(shí)例了解SpringBoot啟動(dòng)原理

    通過(guò)代碼實(shí)例了解SpringBoot啟動(dòng)原理

    這篇文章主要介紹了通過(guò)代碼實(shí)例了解SpringBoot啟動(dòng)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring中利用配置文件和@value注入屬性值代碼詳解

    Spring中利用配置文件和@value注入屬性值代碼詳解

    這篇文章主要介紹了Spring中利用配置文件和@value注入屬性值代碼詳解,代碼中注釋比較詳細(xì),具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java實(shí)現(xiàn)大文件的分片上傳與下載(springboot+vue3)

    Java實(shí)現(xiàn)大文件的分片上傳與下載(springboot+vue3)

    這篇文章主要為大家詳細(xì)介紹了java基于springboot+vue3如何大文件的分片上傳與下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-06-06

最新評(píng)論

阳春市| 厦门市| 无锡市| 墨玉县| 建阳市| 曲水县| 天津市| 乐亭县| 鄂尔多斯市| 陈巴尔虎旗| 鹰潭市| 舞阳县| 吉林省| 博野县| 龙川县| 盘锦市| 郁南县| 安国市| 太湖县| 攀枝花市| 云安县| 阿拉善左旗| 贡觉县| 土默特右旗| 宜都市| 寿光市| 阿合奇县| 德保县| 昭觉县| 通许县| 瑞昌市| 东城区| 家居| 界首市| 马山县| 永泰县| 新竹市| 綦江县| 湖口县| 赣州市| 荣昌县|