JVM:java虚拟机。
JDK : java开发工具包。
JRE:java运行环境。
JVM:将编译好的.class 文件(字节码)转化为 机器可以执行的二进制机器码。同时他 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。
JDK:拥有JRE的一切,同时还有 编译器(javac)和工具。能够创建和编译程序。将我们写的.java 文件(源代码)编译成 JVM能看懂的 字节码。
JRE:是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。
如图


