JDK、JRE、JVM 三者的关系
先搞清楚这三个缩写,不然后面配环境会迷糊
1 | ┌─────────────────────────────────────────┐ |
| 名称 | 全称 | 干什么的 | 谁需要装 |
|---|---|---|---|
| JVM | Java Virtual Machine | 执行Java字节码的虚拟机 | 被包含在JRE里,不用单独装 |
| JRE | Java Runtime Environment | 运行Java程序的环境(JVM + 核心类库) | 只想跑Java程序的人 |
| JDK | Java Development Kit | 开发Java程序的工具包(JRE + 编译器等工具) | 想写Java程序的人(就是你) |
一句话:JDK 包含 JRE,JRE 包含 JVM。开发者装 JDK 就够了,JRE 和 JVM 都带着
JDK版本怎么选?
LTS(Long Term Support)长期支持版本:生产环境首选
| 版本 | 发布年份 | LTS | 说明 |
|---|---|---|---|
| Java 8 | 2014 | ✅ | 至今最广泛使用的版本,大量老项目还在用 |
| Java 11 | 2018 | ✅ | 第二主流版本 |
| Java 17 | 2021 | ✅ | Spring Boot 3.x 最低要求 |
| Java 21 | 2023 | ✅ | 最新LTS |
建议
学习阶段:装 Java 17 或 Java 21,新特性全有,兼容性也好
公司项目:跟着项目走,项目用Java 8就装Java 8
可以装多个版本,后面教怎么切换
Oracle JDK vs OpenJDK
Oracle JDK:Oracle公司发行,商业使用可能要付费
OpenJDK:开源免费,功能和Oracle JDK基本一致
推荐用 OpenJDK 的发行版:如 Eclipse Temurin(Adoptium)、Amazon Corretto、Azul Zulu
macOS 安装 JDK
方法1:Homebrew(推荐,最简单)
1 | # 安装 Homebrew(如果没装过) |
方法2:手动下载安装
去 https://adoptium.net/ 下载对应版本的 .pkg 安装包
双击安装,一路下一步
查看已安装的JDK
1 | # macOS 自带命令,列出所有已安装的JDK |
环境变量配置
什么是环境变量?
就是告诉操作系统”某个工具装在哪里”,这样你在任何目录下输命令都能找到它
比如你输 java -version,系统怎么知道 java 在哪?就是通过环境变量 PATH 找的
JAVA_HOME
指向JDK的安装目录,很多工具(Maven、IDEA、Tomcat)都会读这个变量
1 | # 查看当前 JAVA_HOME |
配置步骤(macOS zsh)
1 | # 打开配置文件 |
多版本切换
1 | # 在 ~/.zshrc 中添加快捷切换命令 |
JDK目录结构(了解即可)
1 | JDK安装目录/ |
日常最常用的两个命令:
javac Hello.java — 把源码编译成字节码(.class文件)
java Hello — 运行字节码(JVM加载并执行)
这就是 [hello world](/2026/04/04/hello world/) 中代码运行的底层过程:
1 | Hello.java →(javac编译)→ Hello.class →(java运行)→ 控制台输出 |
常见问题排查
java -version 无输出或报错
PATH没配对,检查 echo $PATH 里有没有JDK的bin目录
javac 找不到但 java 能用
可能装的是JRE不是JDK,重新安装JDK
版本不对
装了多个JDK,JAVA_HOME指向了错误的版本
用 /usr/libexec/java_home -V 查看所有版本,重新设置JAVA_HOME
IDEA里的JDK和命令行不一样
IDEA有自己的JDK配置(File → Project Structure → SDK),不一定跟命令行一致
可以在IDEA里手动指定JDK路径,参考 IDE使用(IDEA)
| 上一章 | 目录 | 下一章 |
|---|---|---|
| java基础 | IDE使用(IDEA) |