JDK 是包含 JRE 和开发工具的完整 Java 开发套件,JRE 仅支持运行程序,JVM 是执行字节码的核心引擎;配置 JAVA_HOME 指向 JDK 根目录,PATH 必须包含 %JAVA_HOME%\bin 才能识别 javac 和 java 命令;验证需新开终端执行 java -version、javac -version 和 echo %JAVA_HOME%,三者一致才算成功。

复习 JDK 安装与环境变量配置,关键不是重复操作,而是重建逻辑链:从“为什么需要它”出发,倒推每一步的作用和失效后果。下面分几个核心维度帮你高效复习,不堆步骤,只抓本质。
搞懂 JDK、JRE、JVM 的关系,别再死记缩写
这是所有配置问题的源头。复习时问自己三个问题:
- JVM 是什么?——它不安装,是 JDK/JRE 里自带的“翻译官”,把 .class 字节码转成当前系统能执行的指令;
- JRE 是什么?——JVM + 核心类库(比如 String、System、IO 等),只够运行程序;
- JDK 是什么?——JRE + 编译器(javac)、打包工具(jar)、调试器(jdb)等,是写代码的完整工具箱。
结论:学 Java 就装 JDK,不用单独装 JRE;装了 JDK 就自动有了运行环境,javac 和 java 命令本应同时可用。如果出现 java 能用但 javac 找不到,一定是装错了(比如只装了 JRE)或环境变量指向了错误目录。
环境变量到底在配什么:PATH 和 JAVA_HOME 是什么角色
复习时重点理解这两个变量的分工:
立即学习“Java免费学习笔记(深入)”;
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
- JAVA_HOME:是一个“定位锚点”,值是你 JDK 的安装根目录(如 C:\Program Files\Java\jdk-17.0.2 或 /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home)。它本身不直接让命令生效,但很多工具(如 Maven、Tomcat、IDEA)会读它来自动找 JDK;
- PATH:是系统找命令的“搜索路径列表”。你必须把 %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(Mac)加进 PATH,因为 javac、java 这些可执行文件都在 bin 目录下。
常见误区:只配了 JAVA_HOME 却忘了加 bin 到 PATH,结果命令依然报错;或者 PATH 里写了具体路径(如 C:\jdk\bin),但换电脑或升级 JDK 后就失效——而用 %JAVA_HOME%\bin 就能一劳永逸。
验证是否配对:两个命令、一个窗口、一次重启
复习时动手验证比看十遍教程都管用。打开全新的命令行窗口(重要!旧窗口不读新环境变量),依次执行:
- java -version → 看输出的版本号是否和你装的 JDK 一致;
- javac -version → 输出应和上一条完全相同;
- echo %JAVA_HOME%(Windows)或 echo $JAVA_HOME(Mac)→ 看路径是否指向你的 JDK 根目录,且路径中无中文、空格、特殊字符。
三者全部匹配,才算真正配好。如果 java 和 javac 版本不一致,说明系统 PATH 混入了其他 Java(比如旧版 JRE 或另一个 JDK),得检查 PATH 里的所有 Java 相关路径并清理。
版本选择与多 JDK 场景:LTS 是原则,不是选项
复习时别只盯着“怎么装”,更要记住“为什么这么选”:
- 初学或新项目:优先 JDK 17 或 JDK 21(当前主流 LTS,Spring Boot 3+ 强制要求 JDK 17+);
- 维护老系统:JDK 8 仍是很多银行、政企项目的事实标准,不是过时,而是稳定;
- 不要同时装多个大版本却不管理——除非你已掌握 jenv(Mac)或 SDKMAN!(跨平台)这类切换工具,否则极易导致 java -version 和 IDE 使用版本不一致。
一句话总结:版本不是越新越好,而是和你要跑的代码、框架、团队规范对齐。复习时翻出你之前装的 JDK 目录,再查一遍官网文档确认它的支持周期,比背命令更有价值。

















