Java 为什么有2个箱子用于exe';什么是jdk?

Java 为什么有2个箱子用于exe';什么是jdk?,java,Java,在安装JDK(TM)Update 10时,它会安装以下四个功能: ->开发工具 ->演示和样本 ->源代码 ->Java数据库 对于最后三个特性,我一点问题都没有 现在,开发工具包括:- java开发工具包(用于开发java应用程序,这里是jdk1.6.0_10) 公共jre(如果您想运行java应用程序而不管jdk,这里是jre6,则始终需要公共jre) jdk(jdk1.6.0_10)包含: jre、bin等等。 jre目录也有一个bin目录 在我的windows计算机上,我已设置路径值

在安装JDK(TM)Update 10时,它会安装以下四个功能:

->开发工具

->演示和样本

->源代码

->Java数据库

对于最后三个特性,我一点问题都没有


现在,开发工具包括:-

  • java开发工具包(用于开发java应用程序,这里是jdk1.6.0_10)
  • 公共jre(如果您想运行java应用程序而不管jdk,这里是jre6,则始终需要公共jre)
  • jdk(jdk1.6.0_10)包含: jre、bin等等。

    jre目录也有一个bin目录


    在我的windows计算机上,我已设置路径值:-

    path=C:\Program Files\Java\jdk1.6.0\u 10\bin

    这意味着我正在使用jdk1.6.0_10\bin的javac.exe编译.java文件和

    java.exe也来自jdk1.6.0_10\bin,而不是jdk1.6.0_10\jre\bin,用于解释.class文件

    javaw.exe也来自jdk1.6.0_10\bin,而不是jdk1.6.0_10\jre\bin,用于解释.class文件

    此外,jdk1.6.0\u 10\bin还有appletviewer.exejar.exejarsigner.exejava rmi.exejavadoc.exejavap.exermic.exermiregistry.exe,我经常使用,还有一些exe

    另外,jdk1.6.0_10\bin和jdk1.6.0_10\jre\bin都有一些共同的和不同的exe


    如果开发人员想要开发和测试java应用程序,jdk1.6.0_10\bin就足够了(因为它包含了BOLD中提到的所有上述exe),如果 用户想要使用java应用程序,那么一个公共jre就足够了(这是JDK附带的,如果你不是开发人员或者没有安装JDK,你也可以单独下载)

    我不明白的是

    ->当运行时(java.exejavaw.exe)或绑定(rmiregistry.exe)所需的所有exe(上述在粗体+斜体中提及)都出现在jdk1.6.0_10\bin中时

    让我困惑的是


    为什么jdk在jdk1.6.0_10目录中提供jre???

    如果您选择,jre目录包含可以随应用程序重新分发的文件(请参见
    jre/README.txt
    )。

    很难理解您真正想要的是什么,但是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环境中。

    有两个相同的文件,但在JDK中使用JRE的主要原因是
    JRE\lib\
    目录,其中包含运行Java所需的大部分内容,主要是包含主类文件的DLL和rt.jar

    为了减少已安装文件的大小,JDK命令还将查看
    jre\lib\

    Sun的同事们在
    bin\
    中复制了一些文件,以使您的生活更加简单:只要在您的路径中有JDK
    bin
    目录,而不是两者都有,通常就足够了


    PS:安装程序还将
    java.exe
    的副本放在
    Windows\system32\
    目录中。

    JRE是java运行时环境,还附带java程序,用于重定向需要使用java的应用程序。当您请求一个需要java的网页时,必须有一个程序监听这些请求并适当地使用java来创建正确的响应。
    Java不仅仅是一个开发工具包:它是一种编程语言。您从网站下载的是开发工具包+运行时环境。

    可以在此处找到问题的答案:


    jdk1.6.0_10\JRE\bin中的私有JRE由与JDK捆绑的应用程序使用。请不要管它。

    thnx McDowell先生,非常感谢您在网上提供一些详细的解释或参考资料。:-)@丽兹:看看你的硬盘。