JDK21 就是常说的 Java 21,是 2023 年 9 月发布的 LTS 版本,Spring Boot 3.2 起支持 21,Quarkus、Micronaut 的新版本也跟着适配,新项目和高并发服务选 JDK 21 的越来越多。
JDK21 是 Java Development Kit 21 的简称,中文叫 Java 开发工具包 21。JDK21 包含 JRE、javac 编译器、JVM,以及 jar、jshell、javadoc 等开发工具,装好 JDK 21 就能轻松编译、运行、打包 Java 程序。
JDK版本介绍
JDK 目前有 8、11、17、21、25 五个 LTS 版本,以及 26、27 两个非 LTS 版本。JDK25 发布后,21 从“最新 LTS”变成“上一个 LTS”,仍在维护期内。
LTS 版本会持续多年提供安全补丁和稳定性更新,适合正式项目和长期使用;非 LTS 版本(Current)功能最新但只维护到下一个版本发布,适合尝鲜不适合生产。
| 版本 | 状态 | 发布时间 | 特点 | 建议使用场景 |
| JDK 8 | LTS,Oracle 公共更新已停止 | 2014 年 3 月 | Lambda、Stream 引入,老项目存量大 | 维护老系统,不推荐新项目 |
| JDK 11 | LTS | 2018 年 9 月 | var 类型推断、HTTP Client、模块化 | 老项目、课程考试指定版本 |
| JDK 17 | LTS | 2021 年 9 月 | 密封类、文本块、records、强封装内部 API | 企业项目主流,Spring Boot 3 最低要求 |
| JDK 21 | LTS | 2023 年 9 月 | 虚拟线程、record 模式、switch 模式匹配、顺序集合 | 高并发服务、新项目、生产环境 |
| JDK 25 | 最新 LTS | 2025 年 9 月 | 作用域值、模块导入声明、紧凑源文件、灵活构造函数体 | 新项目、生产环境 |
| JDK 26 | 非 LTS,已被 27 取代 | 2026 年 3 月 | HTTP/3 支持、AOT 对象缓存 | 不建议新装 |
| JDK 27 | 最新正式版(非 LTS) | 2026 年 9 月 | 所有环境默认 G1 回收器、紧凑对象头默认开启、TLS 1.3 后量子密钥交换 | 尝鲜、评估升级 |
选版建议:新项目直接上 JDK 21 或 25;已有项目跑在 17 上、依赖还没验证 21 的,先留 17;课程、老系统按原版本装 8 或 11。
JDK21安装
JDK 21 发布以后,每季度发一次补丁,目前最新版是 21.0.12:JDK 21安装包(官网正版,Windows+Linux+macOS)
JDK 21 的正式版、21.0.1 到 21.0.12.1,各个子版本的安装过程全网一致。
1)安装版(exe)
双击 JDK 21 安装包,启动安装程序:
点击"下一步"开始安装。默认安装到 C 盘,这里我将其安装到了非系统盘(比如 D:\JDK21),注意,安装路径要记住,后面配置需要用到:
等待安装完成。安装完成后,点击"关闭"退出安装程序:
2)免安装版(zip)
把 ZIP 包解压到固定目录,比如 D:\jdk21。解压后目录里应该能看到 bin、conf、lib、jmods 这些文件夹。
JDK21配置环境变量(重要步骤)
1)右键点击"此电脑"或"计算机",选择"属性":
2)然后点击"高级系统设置":
3)在系统属性窗口中,点击"环境变量"按钮:
4)在系统变量部分,找到并选中"Path"变量,点击"编辑":
5)点击"新建",添加 JDK 的 bin 目录路径,我的是"D:\JDK21\bin":
6)点击"确定"保存所有更改。
7)验证安装是否成功。按组合键 Win+R,输入cmd打开命令提示符(cmd),输入"java -version"和"javac -version",如果显示JDK 21的版本信息,说明安装和配置成功。
JDK21基础使用
安装配置完成后,你可以开始编写和运行第一个 Java 程序了。下面是一个简单的示例:
1)创建一个文本文件,命名为"HelloWorld.java"。
2)用文本编辑器打开这个文件,输入以下代码:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
3)保存文件,注意文件名必须与类名一致(HelloWorld.java)。
4)打开命令提示符或终端,切换到文件所在目录,比如我将 .java 源文件放到了 D 盘:
5)编译Java程序:输入命令"javac HelloWorld.java"。如果编译成功,会生成一个"HelloWorld.class"文件。
6)运行Java程序:输入命令"java HelloWorld"。如果一切正常,你会看到输出"Hello, World!"。
JDK21使用常见问题
1)Path 里加的是 JDK 的 bin 目录,比如 D:\jdk21\bin,不是 JDK 根目录。只写 D:\jdk21 会找不到 java 命令。
2)Path 里新 JDK 的 bin 目录要放在旧版本前面。电脑里装过多个 JDK 时,命令行按 Path 从上往下找,旧版本排在前面就会先命中旧版本。
3)改完环境变量必须重开命令行窗口。已经打开的 CMD、PowerShell、VS Code 终端读的还是启动时的旧值,不重开怎么改都不生效。
4)多版本共存靠 Path 里的先后顺序切换。装 JDK 17 和 JDK 21 时,两个装到不同目录,用哪个就把哪个的 bin 目录放到 Path 最前面,别把两个 bin 同时留在 Path 里。
5)jar 不是 JDK。.jar 是打包好的 Java 程序或类库,用 java -jar 运行;JDK 是开发工具包,用来编译和打包。
6)java 能用,javac 不能用:装的是 JRE,不是 JDK;或者 Path 指到了 JRE 的 bin 目录。
7)环境变量配了没反应:先看 Path 里加的是不是 JDK 的 bin 目录,结尾必须是 \bin
8)要不要装多个 JDK:只做一个项目,装 JDK 21 就够;要维护老项目、跑老框架,再装 JDK 8 或 17。装多个不影响,关键是 Path 里只保留当前要用的那个 JDK 的 bin。
9)JDK 和 JRE 到底差在哪:JDK 带 javac 编译器、jar、jshell 等开发工具,JRE 只有 JVM 和运行类库。开发必须用 JDK;只运行 Java 程序,JRE 就够。
10)装完要不要重启电脑:不用。环境变量改完,关掉所有命令行窗口重开就行;IDE 也要重启,才会读到新的 JDK