JDK21安装与环境变量配置完全指南(windows版)

一、JDK 21 安装包下载

1. 官网下载地址

访问 Oracle 官方 JDK 21 下载页面:https://www.oracle.com/java/technologies/downloads/#java21

2. 选择安装包

3. 开始下载

点击下载链接,等待安装包下载完成。


二、安装 JDK 21

第一步:运行安装程序

找到下载好的 jdk-21_windows-x64_bin.exe 文件,双击运行

第二步:进入安装向导

在弹出的安装向导窗口中,点击 "下一步" 按钮。

第三步:选择安装目录

  • 默认安装路径:C:\Program Files\Java\jdk-21.0.10
  • 如需更改路径,点击 "更改..." 按钮选择其他位置
  • 建议:记住你选择的安装路径,后续配置环境变量时需要用到

确认路径后,点击 "下一步" 开始安装。

第四步:等待安装完成

安装程序会自动解压并安装文件,等待进度条完成。

第五步:完成安装

安装完成后,点击 "关闭" 按钮退出安装向导。

注意:JDK 21 已内置 JRE(Java Runtime Environment),无需单独安装 JRE。如果提示安装 JRE,可以选择跳过。


三、配置环境变量

为了让系统能够识别并使用 JDK 21,需要配置环境变量。

方法一:通过"此电脑"属性进入(推荐)

第一步:打开系统属性

  • 右键点击桌面上的 "此电脑"(或"我的电脑")
  • 选择 "属性"

第二步:进入高级系统设置

  • 在系统属性窗口中,点击 "高级系统设置"

第三步:打开环境变量

  • 在"系统属性"对话框中,点击 "环境变量" 按钮

方法二:通过搜索进入(快捷方式)

第一步:搜索环境变量

  • Win + S/ Win 打开搜索框
  • 输入 "环境变量"
  • 点击 "编辑系统环境变量"

第二步:进入环境变量配置

  • 在弹出的"系统属性"窗口中,点击 "环境变量" 按钮

配置步骤详解

第一步:新建 JAVA_HOME 变量
  1. 在"环境变量"窗口的 "系统变量" 区域,点击 "新建" 按钮
  2. 填写变量信息:
    • 变量名JAVA_HOME
    • 变量值C:\Program Files\Java\jdk-21.0.10(你的实际安装路径)
  1. 点击 "确定" 保存

第二步:配置 Path 变量
  1. 在"系统变量"列表中找到 Path 变量,选中后点击 "编辑"
  2. 在编辑窗口中,点击 "新建" 按钮
  3. 添加以下路径:
%JAVA_HOME%\bin
  1. 点击 "确定" 保存

第三步:确认所有更改
  • 在"环境变量"窗口点击 "确定"
  • 在"系统属性"窗口点击 "确定"

四、验证安装是否成功

打开命令提示符

Win + R,输入 cmd,回车打开命令提示符窗口。

输入验证命令

java -version

成功安装的输出示例

如果显示类似以上信息,包含 "21" 版本号,说明 JDK 21 安装成功!


五、常见问题与注意事项

⚠️ 重要提示:删除自动配置的路径

JDK 17 在安装时可能会自动配置环境变量。为避免冲突,需要在 Path 中删除以下自动添加的路径:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath C:\Program Files\Common Files\Oracle\Java\javapath

操作步骤

  1. 编辑 Path 变量
  2. 找到上述路径并删除
  3. 确保只保留 %JAVA_HOME%\bin

常见问题

问题

解决方案

提示"java 不是内部或外部命令"

检查 Path 变量是否正确配置,重启 CMD 窗口

版本显示不正确

删除 Path 中的 Oracle Java 自动配置路径

找不到 JAVA_HOME

确认变量名拼写正确,路径无空格错误

Read more

一文彻底搞清楚数据结构之栈与队列:从定义到实战解析

一文彻底搞清楚数据结构之栈与队列:从定义到实战解析

🔥承渊政道:个人主页 ❄️个人专栏: 《C语言基础语法知识》《数据结构与算法初阶》 ✨逆境不吐心中苦,顺境不忘来时路!🎬 博主简介: 前言:前面我通过介绍了一些链表的算法题的解题思路和双向链表的相关知识,相信你一定有所感悟和体会!至此关于链表的内容小编就告一段落了,接下来我要介绍一种特殊的线性表—>栈和队列.它们又有什么作用和用途呢?废话不多说,下面跟着小编的节奏🎵一起学习吧! 目录 * 1.栈的定义 * 2.栈的结构 * 3.多栈共享空间 * 4.栈的实现 * 5.队列的定义 * 6.队列的结构 * 7.队列的实现 * 8.栈和队列的算法题 * 9.循环队列的定义 * 10.循环队列的算法题 1.栈的定义 栈是一种只允许在表的一端进行插入和删除的线性表.通常将表中允许进行插入、删除操作的一端称为栈顶,另一端称为栈底.栈的插入操作称为进栈或入栈,删除操作为出栈或退栈.当栈中没有元素时称为空栈.由于插入和删除操作都是在栈顶中进行,

By Ne0inhk
LeetCode算法日记 - Day 5: 长度最小的子数组、无重复字符的最长子串

LeetCode算法日记 - Day 5: 长度最小的子数组、无重复字符的最长子串

目录 1. 长度最小的子数组 1.1 题目解析 1.2 解法 1.3 代码实现 2. 无重复字符的最长子串 2.1 题目解析 2.2 解法 2.3 代码实现 1. 长度最小的子数组 209. 长度最小的子数组 - 力扣(LeetCode) 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入:

By Ne0inhk
算法魅力-BFS解决多源最短路

算法魅力-BFS解决多源最短路

目录 前言 前提引入 谈谈多源最短路 题目实练 矩阵 飞地的数量 地图中的最高点 地图分析 结束语 前言 在图论与网格问题中,最常见的一类题目就是“求最短距离”。通常情况下,我们会从某一个起点出发,利用 BFS(广度优先搜索) 逐层扩展,得到从该点到所有点的最短路。然而,在许多实际场景中,往往存在 多个起点:例如从多个水源扩展到所有陆地、从多个火源蔓延到整个森林,或者像 LeetCode 1162. 地图分析中,从所有陆地出发,计算到最远海洋的距离。 这类问题的核心思想就是 BFS 多源最短路。它与单源 BFS 不同的地方在于:将所有起点一开始就同时加入队列,作为 BFS 的第一层;在层层扩展的过程中,天然保证了最短路的正确性;代码实现上非常简洁,不需要额外的多次 BFS。 前提引入 * 图可以有方向/

By Ne0inhk
《算法题讲解指南:优选算法-分治-快排》--45.数组中的第k个最大元素,46.最小的k个数

《算法题讲解指南:优选算法-分治-快排》--45.数组中的第k个最大元素,46.最小的k个数

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》 《C++入门到进阶&自我学习过程记录》《算法题讲解指南》--优选算法 ✨未择之路,不须回头 已择之路,纵是荆棘遍野,亦作花海遨游 目录 45.数组中的第k个最大元素 题目链接: 题目描述: 题目示例: 解法(快速选择算法): 算法思路: C++算法代码: 算法总结及流程解析: 46.最小的k个数 题目链接: 题目描述: 题目示例: 编辑 解法(快速选择算法): 算法思路: C++算法代码: 算法总结及流程解析: 结束语 45.数组中的第k个最大元素 题目链接: 215. 数组中的第K个最大元素 - 力扣(LeetCode) 题目描述: 题目示例:

By Ne0inhk