JDK21安装指南:从下载到环境配置全解析

发布时间:2026/10/9 12:20:10

JDK21安装指南:从下载到环境配置全解析 一、版本选型与核心说明1.1 Java 发布节奏官方说明自 Java 9 起Oracle 正式采用6 个月一个特性版本的发布节奏固定每年 3 月与 9 月各发布一个新版本未完成的特性会顺延至下一个版本不再为单个功能拖延整体发布周期。其中长期支持LTS版本的发布节奏经历过一次官方调整JDK 112018.09、JDK 172021.09遵循每 3 年一个 LTS 的初始规则从 JDK 21 开始Oracle 将 LTS 发布周期缩短为每 2 年一个版本后续 JDK 252025.09、JDK 292027.09均按此节奏迭代非 LTS 版本仅提供 6 个月的公开更新适合尝鲜新特性LTS 版本提供多年技术支持是开发、生产环境的标准选择。1.2 为什么选择 JDK 21JDK 21 发布于 2023 年 9 月是当前企业存量项目与学习场景最均衡的选择成熟稳定的LTS版本经过 2 年多的生态适配主流框架Spring Boot 3.x、MyBatis-Plus 等与开发工具均已完美兼容免费商用许可在 Oracle NFTCNo-Fee Terms and Conditions协议下可免费用于生产环境与二次分发无授权风险核心特性落地虚拟线程、模式匹配、结构化并发等重要特性正式转正开发效率提升显著支持周期明确NFTC 协议下的免费更新持续至2026 年 9 月即下一个 LTS 版本 JDK 25 发布后 12 个月之后更新转为 OTN 付费许可1.3 选型补充Oracle JDK vs OpenJDK两者基于同一套 OpenJDK 源码构建功能与性能无本质差异核心区别在授权与分发Oracle JDK 21个人学习、商业生产均可免费使用2026 年 9 月后安全更新需付费订阅附带官方安装向导与配套工具OpenJDK 发行版如 Eclipse Temurin、Amazon Corretto基于 GPLv2CE 协议永久免费商用无授权到期风险。本文以 Oracle JDK 21 为例演示安装流程OpenJDK 发行版的安装与环境变量配置步骤完全通用。二、安装前准备下载前请确认系统信息避免下载错误架构的安装包Windows 系统右键「此电脑」→「属性」查看系统类型当前主流设备均为 64 位操作系统对应下载 x64 版本安装包。macOS 系统点击桌面左上角苹果图标 →「关于本机」查看芯片类型Intel 芯片下载 x64 版本M1/M2/M3/M4 等 Apple Silicon 芯片下载 arm64 版本三、官方下载流程安全无捆绑3.1 官方下载入口直接访问 Oracle 官方下载页Java Downloads | Oracle不建议从第三方站点下载避免捆绑软件与篡改安装包。3.2 选择 JDK 21 对应版本页面下拉找到Java 21下载区域点击「JDK Download」切换到对应系统选项卡Linux / macOS / Windows根据需求选择安装包格式安装包格式适用场景说明x64 Installerexe/dmg普通开发者、新手图形化安装向导操作最简单x64 Compressed Archivezip/tar.gz进阶用户绿色免安装可自定义存放路径需手动配置环境x64 MSI Installer企业批量部署支持组策略、脚本批量安装这里下载x64 Installer即可。3.3 下载注意事项下载前需勾选接受许可协议部分地区会提示登录 Oracle 账号可使用邮箱免费注册或尝试跳过登录直接下载Windows 安装包文件名为jdk-21_windows-x64_bin.exe大小约 160-170MB四、Windows 10/11 安装与环境配置4.1 运行安装向导双击下载的 exe 安装包启动安装向导点击「下一步」选择安装路径不建议使用默认的C:\Program Files\Java\jdk-21路径含空格部分旧工具可能出现兼容问题推荐自定义为无中文、无空格的路径例如E:\develop\java_jdk\jdk21务必记住该路径后续配置环境变量需要用到组件保持默认「开发工具」勾选即可无需额外安装公共 JRE等待安装进度完成点击「关闭」结束安装4.2 环境变量配置核心步骤环境变量的作用是让系统在任意目录下都能识别java、javac等命令是开发环境的标准配置。重要澄清JDK 11 及以后版本不需要配置jre\bin路径也不需要配置 CLASSPATH。这两项是 JDK 8 及更早版本的遗留配置当前版本配置反而可能引发冲突。打开环境变量窗口推荐使用快捷命令按下Win R输入sysdm.cpl并回车 → 切换到「高级」选项卡 → 点击右下角「环境变量」。配置系统变量所有操作均在下方「系统变量」区域进行不要配置到用户变量避免切换账号后失效。① 新建 JAVA_HOME 变量点击「系统变量」下方的「新建」变量名JAVA_HOME严格全大写行业标准约定Maven、Tomcat 等工具都会读取该变量变量值JDK 21 的安装根目录例如E:\Develop\java_jdk\jdk21点击「确定」保存② 编辑 Path 变量在系统变量列表中找到Path双击打开编辑窗口点击「新建」输入%JAVA_HOME%\bin可选选中该行点击「上移」将其移到列表顶部避免与系统中其他 Java 版本冲突连续点击「确定」关闭所有窗口保存配置4.3 配置生效验证按下Win R输入cmd打开命令提示符依次执行以下命令java -version javac -version若命令均正常输出版本号与路径且java与javac版本号一致则基础配置成功。五、macOS 安装与环境配置5.1 运行安装程序双击下载的.dmg镜像文件挂载安装包双击镜像内的JDK 21.pkg启动安装向导点击「继续」→ 同意许可协议 → 选择安装位置默认即可输入 Mac 开机密码确认安装等待进度完成后点击「关闭」JDK 21 在 macOS 下的默认安装路径为/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home5.2 环境变量配置macOS 10.15 Catalina 及以上版本默认使用 zsh 终端更早版本使用 bash 终端配置文件不同。第一步确认终端类型打开「终端」执行命令echo $SHELL输出/bin/zsh对应 zsh 终端绝大多数用户输出/bin/bash对应 bash 终端第二步编辑配置文件zsh 终端配置# 若文件不存在会自动创建 open ~/.zshrcbash 终端配置open ~/.bash_profile在打开的文本文件末尾添加以下两行内容export JAVA_HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home export PATH$JAVA_HOME/bin:$PATH保存并关闭文件。第三步使配置立即生效# zsh 用户执行 source ~/.zshrc # bash 用户执行 source ~/.bash_profile5.3 验证配置终端依次执行java -version javac -version echo $JAVA_HOME输出正常则配置完成。六、JDK 21 目录结构官方解析JDK 21 采用模块化架构不再包含独立的jre目录运行时能力已整合进 JDK 自身如需独立 JRE 可通过jlink工具按需生成。核心目录说明jdk-21/ ├── bin/ # 核心可执行文件java、javac、jar、javadoc、jps、jstack 等开发与调试命令 ├── conf/ # 配置文件目录安全策略、网络配置、加密算法配置等 ├── include/ # C 语言头文件用于 JNI、JVM TI 等原生交互开发 ├── jmods/ # 模块系统文件JDK 模块化后的核心类库载体 ├── legal/ # 开源许可与法律声明文件 ├── lib/ # 支撑类库与运行时依赖文件 └── release # 版本信息文件记录 JDK 版本、构建号等信息七、正反双向验证指南7.1 正向验证完整可用性校验仅命令输出正常不足以完全验证环境可用性推荐通过编译运行 Java 程序做完整校验新建文本文件重命名为HelloWorld.java写入以下代码public class HelloWorld { public static void main(String[] args) { System.out.println(JDK 21 环境配置成功); } }在文件所在目录打开命令行执行编译javac HelloWorld.java执行运行命令java HelloWorld7.2 逆向验证常见故障排查以下是安装配置中最高频的问题对应精准排查方案故障现象核心原因解决方法输入javac提示「不是内部或外部命令」1. JAVA_HOME 路径配置错误2. Path 中未添加%JAVA_HOME%\bin3. 配置后未重启命令行窗口1. 执行echo %JAVA_HOME%核对路径是否真实存在2. 检查 Path 变量拼写确保百分号完整3. 关闭所有 CMD 窗口后重新打开验证java -version版本与安装版本不一致系统存在多个 Java 版本Path 优先级错误在 Path 环境变量中将%JAVA_HOME%\bin上移至最顶部卸载不需要的旧版本安装时提示「权限不足」Windows 未以管理员身份运行macOS 密码错误或无权限Windows右键安装包 →「以管理员身份运行」macOS确认开机密码正确账号具备管理员权限macOS 提示「无法打开无法验证开发者」系统安全策略限制右键安装包 → 选择「打开」→ 在弹窗中再次点击「打开」或在「系统设置→安全性与隐私」中点击「仍要打开」环境变量配置后仍不生效配置文件选错、未执行 source 命令确认终端类型对应正确的配置文件执行 source 命令后重启终端再验证八、JDK 多版本管理可跳过实际开发中常需在不同项目间切换 JDK 版本手动修改环境变量效率较低推荐以下方案Windows简易切换脚本新建jdk21.bat文件写入echo off set JAVA_HOMED:\Develop\Java\jdk-21 set Path%JAVA_HOME%\bin;%Path% java -version需要切换版本时在当前命令行窗口运行该脚本即可仅当前窗口生效不影响全局。macOS使用 jenv 工具# 安装 jenv需先安装 Homebrew brew install jenv # 添加 JDK 版本到管理 jenv add /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home # 查看已管理的所有版本 jenv versions # 全局切换默认版本 jenv global 21 # 仅当前目录切换版本 jenv local 17通常情况下在IDEA中可以直接手动切换简单快捷。九、总结JDK 21 作为当前生态最成熟的 LTS 版本是 Java 学习与企业开发的稳妥选择。安装配置本身并不复杂绝大多数问题都源于路径拼写错误、混淆新旧版本配置规则。
延伸阅读

更多相关文章

2026/10/8 2:01:43

python-第5天:Python 数据类型全维度深度解析

从零开始:Python 数据类型全维度深度解析 在编程的世界里,数据类型(Data Types) 就像是建筑中的原材料:木材、钢筋、水泥各司其职。理解数据类型,是掌握 Python 编程的第一步,也是构建复杂逻辑…

2026/10/9 12:16:40

LangChain 从入门到实战(09):不再一问一答——真正的 Agent(ReAct 循环)

LangChain 从入门到实战(09):不再一问一答——真正的 Agent(ReAct 循环) 前 8 篇的链都是「单步」:你问一句,配好的 prompt 跑一遍就出答案。可真实任务往往是「拿到结果还要再决定下一步」——比如你先问天气、它发现要查坐标、查完再答。这一篇让模型进入循环:自己决…

2026/10/9 12:16:40

LangChain 从入门到实战(12):实战(下)——生产三件套(收官)

LangChain 从入门到实战(12):实战(下)——给助手装上「生产三件套」(收官) 第 11 篇搭好的知识助手能跑,但还缺「上线」那口气:同步等待阻塞、出错就静默崩、问题来了没法追查、更不知道一次调用烧了多少 token。这一篇为它装上异步、日志、错误兜底三件套,并附一个…

2026/10/9 12:16:40

LangChain 从入门到实战(11):实战(上)——搭一个能跑的知识助手

LangChain 从入门到实战(11):实战(上)——搭一个能跑的知识助理 前面 9 篇我们把记忆、工具、RAG、分支一个个装进了大脑。这一篇不教新概念,而是把它们装进一个能真正运行的工程:一个「文档知识助理」——你丢给它一份产品资料,它能回答你、能检索、还能记住多轮对话…

2026/10/9 12:16:40

万年历数据库设计:从1970到2100的日期查询与农历转换实战

简介:这是一份覆盖1970年1月1日至2100年12月31日的完整万年历MySQL数据库资源,面向需要日期维度数据的开发者、数据分析人员及后端工程师,可用于日历查询、节假日统计、报表按日聚合等场景,省去自行推算农历与公历对应关系的繁琐工…

2026/10/9 12:16:40

无线AP与AC控制器部署指南:常见问题与避坑经验

1. 无线AP与AC控制器到底在解决什么问题很多人第一次接触企业级无线网络,脑子里冒出来的画面就是“家里那台路由器换个天线”。但真到了办公室、酒店、学校或者仓库这种场景,一台路由器根本扛不住——人一多就卡,走两步就断,隔一堵…

2026/10/9 12:11:40

300页精读学习【2/3】——企业数字化绿色化协同转型发展典型案例汇编

该汇编适用于企业管理层、数字化 / 绿色化转型负责人、政策制定者、行业咨询从业者及科研人员。其重要性体现在:聚焦多行业数字化绿色化协同转型痛点,汇集百度、京东、伊利等龙头企业实践案例,覆盖制造、能源、农业等多领域。整合 AI、物联网等数字技术与节能降碳、循环利用…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/8 10:03:20

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 0:04:27

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略当数万字的学位论文初稿经历开题、实验、问卷与多轮文献梳理最终成形时,绝大多数研究生都会面临一道全新的形式审查关卡:AIGC 疑似度排查。在高校毕业审核流程中,盲审前的文本检测通…

2026/10/9 0:04:27

食堂节能改造源头工厂,商用厨房设备焕新方案广受好评

商用厨房作为餐饮经营、单位供餐的核心后勤阵地,其设备配置、动线规划与运维体系直接决定后厨作业效率、运营成本与合规性。从基础的灶具、制冷存储设备,到油烟净化、水处理等配套系统,每一个环节的合理性都与食品安全、能耗管控、消防安全挂…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑