JDK、JRE、JVM三者间的关系
生活随笔
收集整理的這篇文章主要介紹了
JDK、JRE、JVM三者间的关系
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
JDK(Java Development Kit)是針對Java開發(fā)員的產(chǎn)品,是整個Java的核心,包括了Java運行環(huán)境JRE、Java工具和Java基礎(chǔ)類庫。Java Runtime Environment(JRE)是運行JAVA程序所必須的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實現(xiàn)及Java核心類庫。JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫,是整個java實現(xiàn)跨平臺的最核心的部分,能夠運行以Java語言寫作的軟件程序。
在計算機(jī)開發(fā)語言的歷史中,從來沒有哪種語言象Java那樣受到如此眾多廠商的支持,有如此多的開發(fā)工具。
JDK(Java Development Kit) JDK是Java開發(fā)工具包,是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。 JDK中包含JRE,在JDK的安裝目錄下有一個名為jre的目錄,里面有兩個文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。 JDK是整個JAVA的核心,包括了Java運行環(huán)境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基礎(chǔ)的類庫(即Java API 包括rt.jar)。 ①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。
金字塔結(jié)構(gòu) JDK=JRE+JVM+其它?運行Java程序一般都要求用戶的電腦安裝JRE環(huán)境(Java Runtime Environment);沒有jre,java程序無法運行;而沒有java程序,jre就沒有用武之地。
Java Runtime Environment(JRE) 是運行基于Java語言編寫的程序所不可缺少的運行環(huán)境。也是通過它,Java的開發(fā)者才得以將自己開發(fā)的程序發(fā)布到用戶手中,讓用戶使用。 RE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,這些是運行Java程序的必要組件。 與大家熟知的JDK不同,JRE是Java運行環(huán)境,并不是一個開發(fā)環(huán)境,所以沒有包含任何開發(fā)工具(如編譯器和調(diào)試器),只是針對于使用Java程序的用戶。
JVM(java virtual machine) 就是我們常說的java虛擬機(jī),它是整個java實現(xiàn)跨平臺的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機(jī)上執(zhí)行。 也就是說class并不直接與機(jī)器的操作系統(tǒng)相對應(yīng),而是經(jīng)過虛擬機(jī)間接與操作系統(tǒng)交互,由虛擬機(jī)將程序解釋給本地系統(tǒng)執(zhí)行。 只有JVM還不能成class的執(zhí)行,因為在解釋class的時候JVM需要調(diào)用解釋所需要的類庫lib,而jre包含lib類庫。 JVM屏蔽了與具體操作系統(tǒng)平臺相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運行。
JDK(Java Development Kit) JDK是Java開發(fā)工具包,是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。 JDK中包含JRE,在JDK的安裝目錄下有一個名為jre的目錄,里面有兩個文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。 JDK是整個JAVA的核心,包括了Java運行環(huán)境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基礎(chǔ)的類庫(即Java API 包括rt.jar)。 ①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。
金字塔結(jié)構(gòu) JDK=JRE+JVM+其它?運行Java程序一般都要求用戶的電腦安裝JRE環(huán)境(Java Runtime Environment);沒有jre,java程序無法運行;而沒有java程序,jre就沒有用武之地。
Java Runtime Environment(JRE) 是運行基于Java語言編寫的程序所不可缺少的運行環(huán)境。也是通過它,Java的開發(fā)者才得以將自己開發(fā)的程序發(fā)布到用戶手中,讓用戶使用。 RE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,這些是運行Java程序的必要組件。 與大家熟知的JDK不同,JRE是Java運行環(huán)境,并不是一個開發(fā)環(huán)境,所以沒有包含任何開發(fā)工具(如編譯器和調(diào)試器),只是針對于使用Java程序的用戶。
JVM(java virtual machine) 就是我們常說的java虛擬機(jī),它是整個java實現(xiàn)跨平臺的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機(jī)上執(zhí)行。 也就是說class并不直接與機(jī)器的操作系統(tǒng)相對應(yīng),而是經(jīng)過虛擬機(jī)間接與操作系統(tǒng)交互,由虛擬機(jī)將程序解釋給本地系統(tǒng)執(zhí)行。 只有JVM還不能成class的執(zhí)行,因為在解釋class的時候JVM需要調(diào)用解釋所需要的類庫lib,而jre包含lib類庫。 JVM屏蔽了與具體操作系統(tǒng)平臺相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運行。
總結(jié)
以上是生活随笔為你收集整理的JDK、JRE、JVM三者间的关系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: office2013打不开文件
- 下一篇: Eclipse与MyEclipse的选择