JVM、JRE、JDK三者的关系与区别
引言 为什么要学习这个主题? 当你第一次学习Java时,可能遇到过这些困惑: 下载Java时,看到JDK、JRE、JVM,该选哪个? 为什么有人说"装JDK就够了"? JDK和JRE有什么区别?为什么JDK更大? 这些问题看似简单,但很多开发者对三者的关系理解模糊。就像区分"汽车"、“发动机”、“汽车制造工厂"一样,理解它们的区别对配置开发环境至关重要。 你将学到什么? ✅ JVM、JRE、JDK的准确定义 ✅ 三者的包含关系和依赖关系 ✅ 什么时候需要JDK,什么时候只需JRE ✅ 如何选择和配置Java环境 ✅ OpenJDK vs Oracle JDK的区别 一、核心概念定义 1.1 JVM(Java Virtual Machine) 定义:Java虚拟机,负责执行字节码的运行时环境。 职责: 加载和执行字节码 管理内存(堆、栈等) 垃圾回收 提供安全机制 类比:发动机 提供运行动力 是核心执行部件 但单独无法工作 独立使用:❌ 不能单独使用 JVM需要配合类库才能运行Java程序 1.2 JRE(Java Runtime Environment) 定义:Java运行时环境,包含JVM和Java核心类库。 组成: JRE = JVM + Java核心类库 + 支持文件 包含内容: JVM(如HotSpot) Java标准库(rt.jar等) 配置文件 属性设置 职责: 运行已编译的Java程序(.class文件) 类比:汽车(完整的运行系统) 有发动机(JVM) 有座椅、方向盘(类库) 可以正常行驶(运行程序) 独立使用:✅ 可以 如果只需要运行Java程序(不开发),只装JRE即可 1.3 JDK(Java Development Kit) 定义:Java开发工具包,包含JRE和开发工具。 ...