日期:2014-05-20  浏览次数:20659 次

为什么有两套jre
JDK里面的工具也是用JAVA编写的,它们本身运行的时候也需要一套JRE,如C:\Program Files\Java\jdk1.5.x\目录下的JRE。而C:\Program Files\Java\目录下的JRE是用来执行我们自己编写的JAVA程序。当然,两套JRE中的任何一套都可以用来执行我们自己编写的JAVA程序,但是JDK里面的工具只能由C:\Program Files\Java\jdk1.5.x\目录下的JRE来执行。


也就是说
jdk(java development kit)是开发工具包,相当于是一个编译器。
jre(java runtime environment)是运行环境,相当于jvm虚拟机。jdk开发出来的java程序必须在jvm中运行,jre就提供了这么一个环境。

--------
上面是某人的解释,解释用了“只能”这个词。
仅仅是只能吗,jdk开发出来的程序也可以在jdk里的jre里执行的吧。


------解决方案--------------------
JDK 是一个开发环境,除了需要进行编译之外,还需要能运行,所以 JRE 包含的东西,它也就包含了。

再看看 JRE/bin 下没有 javac.exe,这就说明其是一个运行环境,而不是一个开发环境。

作为开发人员来说,只要安装一个 JDK 就可以了,而 JRE 可以不用安装!

Dan1980 的
“个人觉得JDK应该不是用JAVA写的,JDK工具也不是JAVA程序,不需要依赖JRE运行。”
________________________________________

JDK 和 JDK 的工具不是使用 Java 编写的那是肯定的,而 JDK 的工具基本上的字节数都很小,
其实其内部的工作机制是调用 JDK/lib/tools.jar 中的工具类而实现的,而这些工具类的 class
文件基本上也不是使用 Java 编译器生成的。而这些 tools.jar 调用需要使用到 JRE。