Q 1: jre 和 jdk 有什么区别 ?
JRE 提供了 JAVA 程序运行的必要环境平台;
jdk 提供了 java 的编程环境,含调试的环境功能,包含 JRE ;
如果只安装了 jre ,那么 cmd 命令行中只能执行 java 指令,不能执行 javac ;
安装好 jdk 后才能执行 javac
用户只需要执行 java 的程序c:\program files\java\jre;
当用户是 java 程序员,需要 java 开发环境,那么开发时,系统就会优先去找“ java 、
javac ”这些命令本身的目录或者他们的父目录的 jre这样开发时一般运行的是 jdk 下的
jre ;另外,在实际的项目开发中,我们发现很多时候 eclipse 老报错,提示 java 虚拟机
内存不足,但是机器的内存是 2G 的,怎么可能内存不足呢?后来发现是 jvm 所支持的内存
最高只能设置为 64M 的缘故,这时我们把一套 jre 拷贝到 eclipse 的目录下,让 eclipse
单独跑一套 jre ,多个 jvm 分管工作, jvm 内存不足的问题就解决了。
Q 2: jdk 下的 lib 与 jre 下的 lib 有何区别?
jdk 下的 lib 包括 java 开发环境的 jar 包;
jre 下的 lib 只是运行 java 程序的jar 包 ;
Q 3:
如果一台电脑安装两套以上的JRE,谁来决定呢?
Java.exe的工作就是找到合适的JRE来运行Java程序。
Java.exe依照底下的顺序来查找JRE:自己的目录下有没有Jre
父目录有没有JRE
查询注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。