官方解释
JDK(Java Development Kit):JDK,即Java开发工具包,是Java语言的软件开发工具包,主要用于开发Java应用程序。它包含了Java编译器、Java运行时环境(JRE)以及一些用于开发Java应用程序的工具,如调试器等。JDK是整个Java开发的核心,它提供了开发Java应用程序所需的所有基本组件。
JRE(Java Runtime Environment):JRE,即Java运行时环境,是Java程序运行所必需的环境。它包含了Java虚拟机(JVM)和Java类库,但不包含任何开发工具,如编译器和调试器。要运行Java程序,必须安装并配置好JRE。通过JRE,Java的开发者可以将自己开发的程序发布到用户手中,让用户使用。
JVM(Java Virtual Machine):JVM,即Java虚拟机,是一种用于计算设备的规范。它是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现。JVM是Java代码运行在计算机上的实现,负责将Java程序的字节码解释执行为机器指令。它是Java应用程序与操作系统之间的桥梁,使得Java程序能够在不同的操作系统上运行。
简单理解
从内容组成分析:
-
JDK:JVM、核心类库(java已经写好的一些基础代码)、开发工具(javac、java、jdb、jhat...)
-
JRE:JVM、核心类库、运行工具
-
JVM:虚拟机
从功能角度分析:
-
JDK:开发+运行
-
JRE:运行
-
JVM:解释程序给用户电脑执行
从使用者的角度分析:
-
JDK:开发者用的工具
-
JRE:用户运行java程序需要的工具
-
JVM:用户电脑理解代码需要的工具
三者关系
JDK包含JRE,JRE包含JVM,三者关系如下图所示: