JDK、JRE、JVM 分别是什么
JDK、JRE、JVM 分别是什么
JDK
JDK(Java Development Kit)——Java 开发工具包,面向开发者。它提供了编写和编译 Java 程序所需的全部工具,核心是javac(Java 编译器),作用是把我们写的.java源文件编译成.class字节码文件。简单说,JDK 是"生产工具",用来开发程序。
JRE
JRE(Java Runtime Environment)——Java 运行环境,面向运行程序的一方。它包含 JVM 以及运行 Java 程序所需的类库(lib),作用是在解释执行.class文件时提供必要的支持。只有 JRE 没有 JDK 也能跑 Java 程序,但不能开发。
JVM
JVM(Java Virtual Machine)——Java 虚拟机,是整个体系中最核心的部分。它负责把字节码逐条解释给本地操作系统执行,相当于一个"模拟 CPU"。Java 之所以能"一次编写、到处运行",正是因为 JVM 屏蔽了底层操作系统和硬件的差异——不同平台装不同的 JVM,但跑的是同一份字节码。
三者的包含关系
三者的关系:JDK 包含 JRE,JRE 包含 JVM。可以这样理解:
JDK(开发工具包) ├── JRE(运行环境) │ ├── JVM(虚拟机,解释执行字节码) │ └── 类库 lib(运行所需的核心库) └── 开发工具(javac 编译器、javadoc 等对应的完整流程是:.java源文件 →javac编译 →.class字节码文件 → JVM 解释执行。所以安装 JDK 后自然就带上了 JRE 和 JVM,不需要单独再装。
***一句话记忆:JDK 是"厨房"(能做饭),JRE 是"餐厅"(能吃饭),JVM 是"消化系统"(把食物转化为能量),而跨平台的秘密就藏在 JVM 这层"消化系统"里。