簡(jiǎn)述jre與jdk的區(qū)別
少同學(xué)初次安裝JDK后,會(huì)發(fā)現(xiàn)電腦里會(huì)有兩套JRE:一套位于 \jre;另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目錄下后面這套比前面那套少了Server端的Java虛擬機(jī)。那么JDK和JRE各有什么作用,區(qū)別在哪呢?下面是學(xué)習(xí)啦小編為你整理的簡(jiǎn)述jre與jdk的區(qū)別,供大家閱覽!
簡(jiǎn)述jre和jdk的區(qū)別
什么是JRE
JRE(Java Runtime Environment,Java運(yùn)行時(shí)環(huán)境),包含了java虛擬機(jī)、java基礎(chǔ)類庫(kù)。是使用java語(yǔ)言編寫的程序運(yùn)行所需要的軟件環(huán)境。
它相當(dāng)于操作系統(tǒng)部分,提供了Java程序運(yùn)行時(shí)所需要的基本條件和許多Java基礎(chǔ)類,例如,IO類、GUI控件類、網(wǎng)絡(luò)類等。
JRE是提供給普通用戶使用的,如果你只想運(yùn)行別人開發(fā)好的Java程序,那么,你的計(jì)算機(jī)上必須且只需安裝JRE。
什么是JDK
JDK(Java Development Kit,Java開發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān)的工具,是提供給Java開發(fā)人員使用的。
JDK包含了JRE,同時(shí)還包含了編譯java源碼的編譯器javac,還包含了很多java程序調(diào)試和分析的工具:jconsole,jvisualvm等工具軟件,還包含了java程序編寫所需的文檔和demo例子程序。
總結(jié)初學(xué)者學(xué)習(xí)和使用Java語(yǔ)言時(shí),首先必須下載和安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。
如果你需要運(yùn)行java程序,只需安裝JRE就可以了。如果你需要編寫java程序,需要安裝JDK。
JDK,JRE,JVM之間的區(qū)別
JDK, JRE和JVM是java編程語(yǔ)言的核心概念。他們看起來有點(diǎn)相似。作為一個(gè)編程者我們似乎也并不是很關(guān)心這個(gè)概念。但是她們確實(shí)是有區(qū)別的,并且他們分別基于不同的目的的。本文將會(huì)分別解釋這三個(gè)概念,并且說明他們之間的不同點(diǎn)。
Java Development Kit (JDK)
JDK是java環(huán)境的核心組件,它提供了編譯、調(diào)試、執(zhí)行一個(gè)java program必須要用到的可執(zhí)行和二進(jìn)制的所有tool。JDK是一個(gè)平臺(tái)定制軟件,這也是我們?yōu)槭裁匆寻惭b版分為 for Windows, Mac and Unix。我們可以認(rèn)為JDK就是一個(gè)jre的超集。因?yàn)閖dk包含了含有java編譯器、debugger以及一些核心類。
JDK是為寫代碼的人準(zhǔn)備的。
Java Virtual Machine(JVM)
而JVM是java編程語(yǔ)言的心臟,the heart。當(dāng)我們r(jià)un了一個(gè)program,JVM就開始負(fù)責(zé)把byte code轉(zhuǎn)換成機(jī)器特定的code(machine specific code)。
JVM也是平臺(tái)無關(guān)的,并且提供了核心的java功能比如memory管理、gc(垃圾回收)、安全等等。
JVM支持定制化,我們可以使用java的options(參數(shù))來定制化JVM,什么意思呢?就是你可以給JVM設(shè)置最小memory和最大memory。 JVM被稱為是一種虛擬化技術(shù)(virtual),是因?yàn)樗峁┝瞬灰蕾囉诘讓拥牟僮飨到y(tǒng)和硬件設(shè)備的接口。它這種不依賴硬件和操作系統(tǒng)的特點(diǎn)使得java program可以“write-once run-anywhere”。
Java Runtime Environment (JRE)
JRE是JVM的實(shí)現(xiàn),JRE提供了platform(平臺(tái))來執(zhí)行java program。JRE由JVM和java binaries以及確保能夠成功執(zhí)行任何program的其他class。記住了,JRE不包含任何和development有關(guān)的工具,比如java compiler,debugger等等。也就是jre不是給開發(fā)準(zhǔn)備的,而是給運(yùn)行準(zhǔn)備的。如果你想要執(zhí)行java program,你應(yīng)該要安裝JRE,就沒必要安裝JDK了。
現(xiàn)在你應(yīng)該明白了。JDK是為開發(fā)準(zhǔn)備的,然而JRE只是為了run java的program。JDK 和 JRE 都包含JVM,因?yàn)樗鼈兌夹枰猺un 我們的java program。JVM是我們java編程語(yǔ)言的心臟(heart),JVM是平臺(tái)無關(guān)的。
猜你喜歡: