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

java環(huán)境中的JDK、JVM、JRE詳細(xì)介紹

 更新時間:2016年11月26日 14:39:34   作者:BigFengFeng  
這篇文章主要介紹了java環(huán)境中的JDK、JVM、JRE詳細(xì)介紹的相關(guān)資料,對于初學(xué)者還是有必要了解下,細(xì)致說明他們是什么,需要的朋友可以參考下

java環(huán)境中的JDK、JVM、JRE

  近來小看了下Android,撲面而來一堆概念JDK、JVM、JRE、SDK、NDK、ADT??|了一下,其中JDK、JVM、JRE是java環(huán)境的東西,而SDK、NDK、ADT是Android開發(fā)用到的東西。下面來區(qū)別一下JDK、JVM、JRE。

小貼士:mac下裝完java后,它在哪里呢,見下圖

首先來說一下JDK

  JDK(Java Development Kit) 是 Java 語言的軟件開發(fā)工具包(SDK)。

  JDK是整個JAVA的核心,包括了Java運(yùn)行環(huán)境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎(chǔ)的類庫(即Java API )。

  有以下三種版本:

  SE(J2SE),standard edition,標(biāo)準(zhǔn)版,是我們通常用的一個版本,從JDK 5.0開始,改名為Java SE。

  EE(J2EE),enterprise edition,企業(yè)版,使用這種JDK開發(fā)J2EE應(yīng)用程序,從JDK 5.0開始,改名為Java EE。

  ME(J2ME),micro edition,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序,從JDK 5.0開始,改名為Java ME。

再來談?wù)凧RE

  JRE為Java Runtime Environment的簡稱,Java Runtime Environment(包括Java Plug-in)是Sun的產(chǎn)品,包括兩部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上運(yùn)行、測試和傳輸應(yīng)用程序的Java平臺。它包括Java虛擬機(jī)(jvm)、Java核心類庫和支持文件。它不包含開發(fā)工具(JDK)--編譯器、調(diào)試器和其它工具。JRE需要輔助軟件--Java Plug-in--以便在瀏覽器中運(yùn)行applet。

沒有JDK的話,無法編譯Java程序,但在有JRE環(huán)境的系統(tǒng)上可以運(yùn)行程序。所以當(dāng)你只需要運(yùn)行Java程序或Applet,下載并安裝JRE即可。如果你要自行開發(fā) Java軟件,請下載JDK。

最后再來了解一下JVM

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

  這是三者的關(guān)系圖:

  我們開發(fā)的實(shí)際情況是:我們利用JDK(調(diào)用JAVA API)開發(fā)了屬于我們自己的JAVA程序后,通過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)平臺相關(guān)的信息,使Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運(yùn)行。JVM在執(zhí)行字節(jié)碼時,實(shí)際上最終還是把字節(jié)碼解釋成具體平臺上的機(jī)器指令執(zhí)行。編譯虛擬機(jī)的指令集與編譯微處理器的指令集非常類似。

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

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

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

  總結(jié):JRE=JVM+Java類庫

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

  JDK是提供給Java開發(fā)人員使用的,包含了JRE和一些Java開發(fā)工具,如編譯工具(javac.exe)、打包工具(jar.exe)等。所以安裝了JDK就不需要再安裝JRE了。作為Java語言的學(xué)習(xí)者,我們必須安裝JDK,沒有JDK,我們是沒有辦法編譯和運(yùn)行Java代碼的,這也是幾乎所有的Java入門教程推薦我們安裝JDK的原因。

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Java領(lǐng)域模型示例詳解

    Java領(lǐng)域模型示例詳解

    本文介紹了Java領(lǐng)域模型(POJO/Entity/VO/DTO/BO)的定義、用途和區(qū)別,強(qiáng)調(diào)了它們在不同場景下的角色和使用場景,文章還通過一個流程示例展示了各模型如何協(xié)同工作,以及如何使用轉(zhuǎn)換工具簡化模型間的轉(zhuǎn)換,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • http中g(shù)et請求與post請求區(qū)別及如何選擇

    http中g(shù)et請求與post請求區(qū)別及如何選擇

    這篇文章主要介紹了http中g(shù)et請求與post請求在應(yīng)用中應(yīng)該如何選擇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-09-09
  • java中的FileInputStream(輸入流)

    java中的FileInputStream(輸入流)

    這篇文章主要介紹了java中的FileInputStream(輸入流),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 基于AspectJ注解方式實(shí)現(xiàn)AOP

    基于AspectJ注解方式實(shí)現(xiàn)AOP

    這篇文章主要介紹了基于AspectJ注解方式實(shí)現(xiàn)AOP,使用AspectJ的注解可以更方便地編寫和管理切面邏輯,而Spring AOP也是使用了AspectJ提供的注解來實(shí)現(xiàn)切面編程,需要的朋友可以參考下
    2023-09-09
  • Java中異或的深入講解

    Java中異或的深入講解

    這篇文章主要給大家介紹了關(guān)于Java中異或的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java開發(fā)實(shí)現(xiàn)的Socket雙向通信功能示例

    Java開發(fā)實(shí)現(xiàn)的Socket雙向通信功能示例

    這篇文章主要介紹了Java開發(fā)實(shí)現(xiàn)的Socket雙向通信功能,結(jié)合實(shí)例形式分析了java基于socket實(shí)現(xiàn)的服務(wù)器端與客戶端雙向通信相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • MVC+DAO設(shè)計模式下的設(shè)計流程詳解

    MVC+DAO設(shè)計模式下的設(shè)計流程詳解

    這篇文章主要介紹了MVC+DAO設(shè)計模式下的設(shè)計流程詳解,分別介紹了數(shù)據(jù)庫設(shè)計、設(shè)計符合java bean標(biāo)準(zhǔn)的entity類、設(shè)計訪問數(shù)據(jù)庫的DAO接口等內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無法讀取配置信息問題

    解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無法讀取配置信息問題

    今天在學(xué)習(xí)springboot利用ConfigurationProperties注解配置數(shù)據(jù)源的使用遇到一個問題無法讀取配置信息,發(fā)現(xiàn)全部為null,糾結(jié)是哪里出了問題呢,今天一番思考,問題根源找到,下面把我的解決方案分享到腳本之家平臺,感興趣的朋友一起看看吧
    2021-05-05
  • 詳解Java從工廠方法模式到 IOC/DI思想

    詳解Java從工廠方法模式到 IOC/DI思想

    工廠方法(Factory Method)模式的意義是定義一個創(chuàng)建產(chǎn)品對象的工廠接口,將實(shí)際創(chuàng)建工作推遲到子類當(dāng)中。核心工廠類不再負(fù)責(zé)產(chǎn)品的創(chuàng)建,這樣核心類成為一個抽象工廠角色,僅負(fù)責(zé)具體工廠子類必須實(shí)現(xiàn)的接口。本文將詳細(xì)介紹Java從工廠方法模式到 IOC/DI思想。
    2021-06-06
  • SpringBoot實(shí)現(xiàn)elasticsearch索引操作的代碼示例

    SpringBoot實(shí)現(xiàn)elasticsearch索引操作的代碼示例

    這篇文章主要給大家介紹了SpringBoot如何實(shí)現(xiàn)elasticsearch 索引操作,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀下
    2023-07-07

最新評論

通河县| 通州区| 鄂尔多斯市| 兴宁市| 越西县| 遂平县| 太仆寺旗| 崇信县| 丰城市| 苗栗县| 奉贤区| 陆良县| 故城县| 扎兰屯市| 渑池县| 洛南县| 莲花县| 喀喇| 石阡县| 开江县| 巍山| 梁河县| 城固县| 岗巴县| 达日县| 比如县| 洛隆县| 进贤县| 彰化市| 潮州市| 南开区| 阳西县| 杨浦区| 剑川县| 安顺市| 肇源县| 沅陵县| 弥勒县| 呼伦贝尔市| 房山区| 治县。|