JDK : java Development Kit 的简称, Java 开发工具包,提供了 java 的 开发环境 和运行环境。包含了 JRE 。
JRE: Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。它包括 Java虚拟机 ( JVM )、Java核心类库和支持文件。
JVM: Java Virtual Machine 的简称,Java虚拟机,执行编译后的 字节码 文件(. class文件 )。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

从图中看出JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac ,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。而JRE包含了JVM。
它们之间的关系为JDK包含了JRE,JRE包含了JVM。
所以一个java文件的执行过程是这样的:
