当我安装JDK(TM)Update 10时,它会安装以下四个功能:
- >开发工具
- >演示和样本
- >源代码
- > Java DB
根据最后三项功能,我根本没有任何问题。
现在,开发工具包含: -
jdk(jdk1.6.0_10)包含: jre,bin等。等等......
jre目录还有一个bin目录 。
在我的Windows机器上,我设置了路径值: -
path = C:\ Program Files \ Java \ jdk1.6.0_10 \ bin;。;
这意味着我正在使用 jdk1.6.0_10 \ bin 的 javac.exe 来编译.java文件和
来自 jdk1.6.0_10 \ bin 的 java.exe ,而不是 jdk1.6.0_10 \ jre \ bin < / strong>用于解释.class文件。 来自 jdk1.6.0_10 \ bin 的 javaw.exe ,而不是 jdk1.6.0_10 \ jre \ bin < / strong>用于解释.class文件。此外,jdk1.6.0_10 \ bin还有 appletviewer.exe , jar.exe , jarsigner.exe , < em> java-rmi.exe , javadoc.exe , javap.exe , rmic.exe ,<我经常使用的strong> rmiregistry.exe
,更多exe的。同时jdk1.6.0_10 \ bin,jdk1.6.0_10 \ jre \ bin都有一些常见的以及不同的exe。
如果开发人员想要开发和测试java应用程序, jdk1.6.0_10 \ bin 就足够了(因为它包含 BOLD ),如果是 用户想要使用java应用程序,那么公共jre 就足够了(随JDK提供,如果你不是开发人员或没有安装JDK,你也可以单独下载。
现在我没有得到的是,
- &GT;当运行时的所有exe( java.exe , javaw.exe )或绑定所需的exe( rmiregistry.exe )时(上面提到的< strong> BOLD + ITALIC
)出现在 jdk1.6.0_10 \ bin ,令我困惑的一点是,
为什么jdk在jdk1.6.0_10目录中提供jre ???
答案 0 :(得分:3)
如果您选择(参见jre/README.txt
),JRE目录中包含您可以随应用程序重新分发的文件。
答案 1 :(得分:2)
很难理解你的真实要求,但jdk \ bin和jdk \ jre \ bin中的java.exe是相同的:
C:\Program Files\Java\jdk1.6.0_13>md5sum bin\java.exe
\ee21961559a99f6ab3967e709563cc03 *bin\\java.exe
C:\Program Files\Java\jdk1.6.0_13>md5sum jre\bin\java.exe
\ee21961559a99f6ab3967e709563cc03 *jre\\bin\\java.exe
我认为你真的在问“如果你安装了JDK,那么在其中安装一个包含的JRE有什么意义呢?”。我认为你必须要求Sun真正得到正确的答案,但我认为它适用于任何想要在JRE环境中运行/测试他们的应用程序(他们正在开发)而不是完整的JDK环境的人。 / p>
答案 2 :(得分:1)
有几个相同的文件,但在JDK中使用JRE的主要原因是jre\lib\
目录,其中包含运行Java所需的大部分内容,主要是DLL和rt.jar。包含主类文件。
为了减少已安装的文件大小,JDK命令也会查看jre\lib\
。
Sun的工作人员在bin\
复制了少数文件,让您的生活变得更加简单:只有在您的PATH中使用JDK bin
目录而不是两者。
PS:安装程序还在java.exe
目录中放置了Windows\system32\
的副本。
答案 3 :(得分:0)
JRE是Java运行时环境,还附带了重定向需要使用java的应用程序的java程序。当您请求需要java的网页时,必须有一个程序来监听此类请求并适当地使用Java来创建正确的响应。 Java不仅仅是一个开发工具包:它是一种编程语言。您从网站下载的是开发工具包+运行时环境。
答案 4 :(得分:0)
问题的答案可以在这里找到:
http://www.oracle.com/technetwork/java/javase/documentation/install-windows-142126.html#private
jdk1.6.0_10 \ jre \ bin中的私有JRE由与JDK捆绑在一起的应用程序使用。应该不管它。