JRE 和 JDK 的区别是什么?
JDK主要包含三部分,
第一部分就是Java运行时环境,JVM。
第二部分就是Java的基础类库,这个类库的数量还是非常可观的。
第三部分就是Java的开发工具,它们都是辅助你更好的使用Java的利器。
JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。
是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
如果安装了JDK,会发同你的电脑有两套JRE。
一套位于Javajdk1.8 jre
一套位于 Javajre8 目录下。
如果你只安装JRE,而不是JDK,那么只会在 C:Program FilesJava 目录下安装唯一一套JRE。
为什么Sun要让JDK安装两套相同的JRE?
因为【javac.exe】只是一个包装器(Wrapper)
输入 java -cp [相对路径]jdklibtools.jar com.sun.tools.javac.Main 是一样的
因此,为了让这些工具能正常运行,必须自带一套jre
如果电脑安装两套以上的JRE,谁来决定呢?
Java.exe依照底下的顺序来查找JRE:
首选:自己的目录下有没有JRE
其次:父目录有没有JRE
最后:查询注册表: [HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime Environment]
eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了。
jvm在哪里?
JDK-->JRE-->Bin目录下有两个文件夹:server与client,这是真正的jvm.dll所在
参照
https://blog.csdn.net/kingscoming/article/details/78860702
https://www.zhihu.com/question/20317448



