在程序文件的java文件夹中放置两个jre,一个在jdk和一个outsite jdk中的原因是什么

时间:2012-02-23 06:00:07

标签: java jdk1.6

我在java文件夹中看到两个jre,一个在jdk中,另一个在jdk外面。你能告诉我这两个jre背后的原因是什么?

4 个答案:

答案 0 :(得分:4)

我没有正确地阅读你的答案并且搜索了一下,这是一个似乎是Oracle工作人员的回答:

  

有一些差异可以解释你所看到的。该   JDK附带的JRE不支持自动更新及其   不包含任何产品,就像独立的JRE一样。该   JRE和JDK都是在同一时间(大约)建立起来的   来源基地。

来自https://forums.oracle.com/forums/thread.jspa?threadID=2277801


旧答案32/64位Windows

如果您使用的是Windows 7 64位(或其他MS 64位系统),则需要2个JRE。一个用于64位应用程序(浏览器),另一个用于32位。它们应该具有不同的文件夹名称,即: 64位C:\ Program Files \ java \ jre7 32位C:\ Program Files(x86)\ java \ jre7

答案 1 :(得分:2)

如果您只是运行一个应用程序,那么您只需要Java Runtime Environment(JRE),因此将它作为一个独特的实体提供是有意义的。

如果您正在开发,则需要完整的Java开发工具包,并且拥有您需要的所有内容(包括JRE)会很有帮助。

所以,有两种使用场景,两种获取JRE的方法。

有关详细信息,请参阅Jaya引用的问题。

答案 2 :(得分:1)

如果您正在开发java程序,那么将使用编译时private jre(C:\ Program Files \ Java \ jdk1.7.0_65 \ jre)并运行时间public jre(C:\ Program将使用Files \ Java \ jre7。这是默认的用例场景。如果编译时jvm发现private jre不在那里那么它将转到public jre并且运行时也是如果jvm发现如果不存在public jre,那么它将转到private jre。

答案 3 :(得分:0)

JDK是开发Java应用程序所必需的,但它包含一个JRE(Java运行时环境),它是运行Java应用程序所必需的。

如果您是高级用户而且您知道自己在做什么,那么您只需要一份JRE副本,这意味着您不需要" Public JRE"除了JDK附带的那个。

只需将环境变量JAVA_HOME设置为指向JDK安装目录,然后将JRE的bin目录(即%JAVA_HOME%\jre\bin)添加到PATH

如果您希望Java通知/提醒/烦扰您有关更新的信息,并且还有额外的200MB磁盘空间,那么您也不需要安装公共JRE。