转:jdk安装完为什么会有两个JRE

jre  jdk 有什么区别? 为什么安装 jdk 后会有两套 jre?(一套一般在c:\program files\java\jre 下,一套自己选择的 jdk 安装路径下,如:c:\program files\java\jdk1.6\jre

JRE 提供了 JAVA 程序运行的必要环境平台;

jdk 提供了 java 的编程环境,它包含编译调试的环境功能,包含 JRE 

如果只安装了 jre ,那么 cmd 命令行中只能执行 java 指令,不能执行 javac 

安装好 jdk 后才能执行 javac ,因为 jre 中不包含用于开发的编译环境;

之所以需要两套 jre ,是因为可以分担工作;当用户只需要执行 java 的程序时,那 c:\program files\java\jre 下的 jre  ok !当用户是 java 程序员,需要 java 开发环境,那么开发时,系统就会优先去找“ java  javac ”这些命令本身的目录或者他们的父目录的 jre ;这样开发时一般运行的是 jdk 下的 jre ;而运行外部程序时,一般运行的是c:\program files\java\jre ,实现了分工,不同的 jre 负责各自范围的内容;

补充一点jdk 下的 lib  jre 下的 lib 有何区别?

jdk下的lib包括java开发使用的jar包,jre下的lib是运行java程序的jar包;

原文地址:https://www.cnblogs.com/lijc1990/p/2756901.html