JDK和JRE的区别

JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。

JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运 行Java程序的平台。JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。

JVM:Java Virtual Machine(Java虚拟机)的缩写

Java语言是跨平台的,JVM不是跨平台的

不同平台需要安装对应版本的JVM才能运行(例如:windows系统有windows版的JVM,linux系统有linux体统的JVM)所以说JVM是不能跨平台的。
Java语言通过不同系统上的JVM(相当于一个桥梁)对Java语言进行编译和运行,所以说java是跨平台的,而JVM就是Java语言跨平台的关键
[

](https://blog.csdn.net/YaroDong/article/details/103689395)
总结:Java官方/非官方,针对不同的操作系统开发不同的JVM虚拟机,可以将Java代码运行在不同的操作系统上,国内也有开发自己的虚拟机,只不过不出名而已。

JDK、JRE、JVM区别 - 图1
JDK、JRE、JVM区别 - 图2