什么是JVM?
JVM(Java Virtual Machine,Java虚拟机)是一种抽象机,它使您的计算机能够运行Java程序。
当您运行Java程序时,Java编译器首先将您的Java代码编译成字节码。然后,JVM将字节码转换为本地机器代码(计算机CPU直接执行的指令集)。
Java是一种平台无关的语言。这是因为当您编写Java代码时,最终是为JVM编写的,而不是为您的物理机(计算机)编写的。由于JVM执行的Java字节码是平台无关的,因此Java也是平台无关的。

如果您有兴趣了解JVM架构,请访问JVM架构详解。
什么是JRE?
JRE(Java Runtime Environment,Java运行时环境)是一个软件包,它提供Java类库、Java虚拟机(JVM)以及运行Java应用程序所需的其他组件。
JRE是JVM的超集。

如果您需要运行Java程序但不想开发它们,那么您需要JRE。您可以从Java SE Runtime Environment 8 Downloads页面下载JRE。
什么是JDK?
JDK(Java Development Kit,Java开发工具包)是开发Java应用程序所需的软件开发套件。当您下载JDK时,JRE也会随之下载。
除了JRE之外,JDK还包含许多开发工具(编译器、JavaDoc、Java Debugger等)。

如果您想开发Java应用程序,请下载JDK。
JVM、JRE和JDK之间的关系。

另请阅读