2010-03-29 49 views
28

包含在JDK中的JRE(位於jre文件夾內)和獨立的JRE之間有什麼區別?有沒有?JDK附帶的JRE與獨立的JRE包含的JRE

+0

您指的是哪個獨立JRE? – 2010-03-29 21:13:28

+2

您可以安裝JDK(它隨JRE一起提供,位於JDK安裝位置的子文件夾中),也可以只安裝JRE(即作爲單獨的下載和安裝)。 – Dave 2010-03-29 22:58:09

回答

25

的「獨立JRE」(有時也被稱爲「公共JRE」)通常不包含HotSpot的服務器版本。它也缺乏JDK包含的工具(JavaDB,javac,tools.jar等)。

否則,運行時間是相同的。另外請注意,JDK可能會安裝一個(或多個)JRE。

最後,所有上述註釋都是針對Sun的Sun Java安裝程序的。其他供應商和平臺可能(有時也會)有所不同。

+3

IIRC JDK版本的JRE中有更多調試信息。查看'rt.jar'的大小。還有像自動更新丟失的東西。 – 2010-03-29 22:48:28

+2

查看,我想知道JDK的JRE中是否有調試的東西,但人們認爲我爲提到它而瘋狂。 – Dave 2010-03-29 22:53:58

+0

確實,我的jdk(7u6)剛剛安裝了TWO jre!一個獨立的(java/jre)和一個內部的jdk文件夾(java/jdk ../ jre)。甲骨文的信息(或者這裏的任何人)對於「jdk包含jre」意味着一點點痛苦,但它可能是最後一個。 – 2012-08-15 15:08:14

16

沒有區別(除非你有不同版本的JRE)。下面是從SUN/Oracle的官方定義:

http://java.sun.com/javase/6/docs/technotes/guides/index.html

JRE和JDK Sun Microsystems公司提供 兩個主要軟件產品在 的JavaTM平臺,標準版 (的JavaTM SE)系列:

Java SE運行環境(JRE)

JRE提供了庫,Java 虛擬機和其他組件 需要運行applets和 應用程序編寫的Java 編程語言。此運行時間環境可以通過 應用程序重新分配,使它們可以獨立使用,即 。

的Java SE開發工具包(JDK)

JDK包含了JRE加 命令行開發工具,如 編譯器和所需要或開發 applet和應用程序 調試器。

+1

@Kevin,'bn'指出'獨立JRE'和'JDK包含的JRE'之間沒有區別(這是原始問題) – 2010-03-29 21:28:14

+1

所以另一個快速問題是:can你重新分配了JDK,還是隻能提供JRE? – Dave 2010-03-29 22:56:23

0

「JDK」是Java開發工具包。 JDK是可用於開發基於Java的軟件的一攬子軟件。 「JRE」是Java運行時環境。 JRE是實際執行Java程序的Java虛擬機的實現。

通常,每個JDK包含的各種開發工具,如Java源代碼編譯器以及一個(或多個)JRE的,捆綁和部署工具,調試器,開發庫等

1

如果針對獨立JRE和JDK中包含的JRE運行二進制比較,它們是二進制不同的(至少在Windows版本中)。

rt.jar中的類數是相等的,但出於好奇,我在所有類中都運行了'javap',並對結果進行了比較。

我看到的唯一區別是,JDK verison具有類代碼前行像「從「Serializable.java編譯」。

我不認爲這應該不會對終端用戶產生任何影響,所以這些實際上,JRE的行爲方式應該是一樣的。

1

區別是合法的。 JDK用於開發,JRE用於執行。您可以將JRE與產品一起使用