JDK21安装与配置教程

JDK21安装与配置教程

文章目录


一、下载JDK

1. 下载地址

华为云镜像下载地址:
地址 1(OracleJDK):https://repo.huaweicloud.com/java/jdk/
地址 2(OpenJDK):https://mirrors.huaweicloud.com/openjdk/

地址 2 打开地址后如下图所示:

在这里插入图片描述

2. 下载JDK21

在JDK下载网址找到对应的版本进行下载(此处下载openjdk21版本)。

在这里插入图片描述

OpenJDK 21版本对应的不同系统和架构的安装包,具体版本说明如下:

  • openjdk-21_linux-aarch64_bin.tar.gz:适配Linux系统 + ARM64架构(比如M1/M2芯片的Linux设备)的压缩包。
  • openjdk-21_linux-x64_bin.tar.gz:适配Linux系统 + x64架构(常见的64位PC/服务器)的压缩包。
  • openjdk-21_linux-x64_bin.tar.xz:和上面是同系统同架构,但压缩格式为xz(体积更小)。
  • openjdk-21_macosx-x64_bin.tar.gz:适配macOS系统 + x64架构(Intel芯片的Mac)的压缩包。
  • openjdk-21_windows-x64_bin.zip:适配Windows系统 + x64架构的压缩包。

下载后的openjdk-21_windows-x64_bin.zip如下图所示:

在这里插入图片描述

二、JDK21安装及配置

1. 解压zip压缩包

找到下载好的JDK21的zip压缩包openjdk-21_windows-x64_bin.zip,解压到指定目录下(此处解压到C:\developement目录),即安装完成。

在这里插入图片描述

2. 配置Java环境变量

2.1 打开系统属性设置

先右键点击桌面 “此电脑” 并选择 “属性”,进入系统页面后点击 “高级系统设置”,接着在弹出的 “系统属性” 窗口切换到 “高级” 标签页,最后点击 “环境变量” 按钮,进入环境变量配置界面。

在这里插入图片描述

2.2 新建系统环境变量

在打开的 “环境变量” 窗口里,点击 “系统变量” 区域的 “新建 (W)…” 按钮,在弹出的 “新建系统变量” 对话框中,将 “变量名 (N)” 设为 “JAVA_HOME”,“变量值 (V)” 填写 JDK 的安装路径(此处为 “C:\development\jdk-21”),最后点击 “确定” 按钮,即可完成 JAVA_HOME 系统环境变量的创建,这是配置 Java 环境的关键步骤之一。

在这里插入图片描述

2.3 编辑 PATH 环境变量

在 “环境变量” 窗口的 “系统变量” 区域找到 “Path” 变量并选中,点击 “编辑 (I)…” 按钮;在弹出的 “编辑环境变量” 窗口中点击 “新建 (N)”,输入 “% JAVA_HOME%\bin”(通过引用之前创建的 JAVA_HOME 变量来关联 JDK 的 bin 目录),最后依次点击 “确定” 保存设置,完成后系统就能识别 Java 相关命令了。

在这里插入图片描述

2.4 验证环境变量是否配置成功

通过“win+r”快捷键打开 “运行” 窗口,在输入框中填写 “cmd” 并点击 “确定” 按钮,以此启动命令提示符窗口,为后续执行 Java 版本验证命令做准备。

在这里插入图片描述

在启动的命令提示符窗口中,输入 “java -version” 命令后,终端显示出了 OpenJDK 21 的版本信息(包括版本号、运行时环境及虚拟机信息),这表明 Java 环境变量已成功配置。

在这里插入图片描述

Read more

使用Docker安装Ollama及Open-WebUI完整教程

作者:吴业亮 博客:wuyeliang.blog.ZEEKLOG.net 一、Ollama 简介及工作原理 1. Ollama 简介及原理 * 简介:Ollama 是一款轻量级、开源的大语言模型(LLM)运行工具,旨在简化本地部署和运行大语言模型的流程。它支持 Llama 3、Mistral、Gemini 等主流开源模型,用户无需复杂配置即可在本地设备(CPU 或 GPU)上快速启动模型,适用于开发测试、本地智能应用搭建等场景。 * 工作原理: * 采用模型封装机制,将大语言模型的运行环境、依赖库及推理逻辑打包为标准化格式,实现模型的一键下载、启动和版本管理。 * 通过优化的推理引擎适配硬件架构,支持 CPU 基础运行和 GPU 加速(如 NVIDIA CUDA),减少资源占用并提升响应速度。 * 提供简洁的

By Ne0inhk
【算法】【优选算法】BFS 解决边权相同最短路问题

【算法】【优选算法】BFS 解决边权相同最短路问题

目录 * 一、1926.迷宫中离⼊⼝最近的出⼝ * 二、433. 最⼩基因变化 * 三、127. 单词接⻰ * 四、675. 为⾼尔夫⽐赛砍树 一、1926.迷宫中离⼊⼝最近的出⼝ 题目链接:1926.迷宫中离⼊⼝最近的出⼝ 题目描述: 题目解析: * 给我们一个字符数组 + 表示墙,. 表示路。 * 求给我们的起始坐标,上下左右走到边界最短的距离。 * 没路出去返回-1,刚开始的起点不算距离。 解题思路: * 使用层序遍历,从给我们的起点开始, * 每一次都将队列中的元素全部取出,相当于进了一步。 * 直到没路可走,或者走到边界。 * 使用一个相同大小的标记数组,将走过的路和墙标记。标记过的下标不入队。 解题代码: 时间复杂度:O(M*N) 空间复杂度:

By Ne0inhk

玩转Python核心数据结构:从基础到实战的编程基石-4

第4章:无序且唯一的集合:集合与冻结集合 章节介绍 Python 中,除了列表和元组这类有序的序列,还有一类非常实用的无序容器:集合。集合最核心的特征是它的元素是唯一且无序的。想象一下,当你需要记录一批用户的唯一标签,或者快速比对两份数据之间的差异时,集合就能大显身手。它与数学中的集合概念高度一致,支持交集、并集等运算,处理这类问题既直观又高效。 创建一个集合很简单,可以直接用花括号 {},或者使用 set() 函数。但更常见的情况是,我们从已有的数据(比如一个可能包含重复项的列表)中提取唯一元素。这时,集合的“唯一性”就派上了用场。你可以使用 ` defcreate_set_from_list(data_list:list)->set:""" 从给定的列表创建一个集合。 集合会自动去除列表中的重复元素,并失去原有的顺序。 这是演示集合创建和其'

By Ne0inhk
LeetCode 384 打乱数组

LeetCode 384 打乱数组

文章目录 * 摘要 * 描述 * 题解答案 * 题解代码分析 * 1. 数据结构的设计 * 2. 为什么需要两个数组? * 3. init() 方法详解 * 4. reset() 方法详解 * 5. shuffle() 方法详解 * 6. Fisher-Yates 洗牌算法详解 * 7. Swift 中的 stride 函数 * 8. swapAt() 方法 * 9. 边界情况处理 * 示例测试及结果 * 示例 1:基本操作 * 示例 2:题目示例 * 示例 3:单元素数组 * 示例 4:验证随机性 * 示例 5:多次 reset 和 shuffle

By Ne0inhk