将两个jre,一个在jdk和一个outsite jdk中放在Program文件的java文件夹中的原因是什么?

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

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

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

因此,有两种使用场景,两种获取JRE的方法。

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

我没有正确地阅读你的答案并进行了一些搜索,这是一个似乎是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

如果您正在开发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。

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

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

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

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