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

【c++与Linux进阶】线程篇 -互斥锁

【c++与Linux进阶】线程篇 -互斥锁

1. 前言: 在我们之前学习的代码种,就是在建造多线程的路上,我们可以看到出现了乱码或者抢占输出,这是为什么呢? 本章将带着这个问题来带你思考: 1. 一个例子先来领略问题的所在。 2. 什么是线程互斥. 3. 见识互斥锁。 4. 使用互斥锁 2. 一个买票的例子: 假设我们有100张电影票,我们同时抢票会出现什么,我们来尝试写代码来看看: #include<iostream>#include<thread>#include<vector>#include<string>#include<cstdio>#include<unistd.h>int ticket =100;voidroutine(std:

By Ne0inhk
【数据结构与算法】汉诺塔问题(C++)

【数据结构与算法】汉诺塔问题(C++)

目录 一、汉诺塔问题基础定义 1. 问题描述 2. 核心规律 3. 问题分解思想(递归核心) 二、递归实现汉诺塔(简洁优雅,易理解) 1. 递归思路 2. 完整递归代码(带步骤打印 ) 三、非递归实现汉诺塔 非递归思路: 1. 非递归思路 2.代码实现: 四、写在最后 汉诺塔(Hanoi Tower)是经典的递归算法入门问题,源于古印度的数学传说,其核心是通过有限次移动,将一根柱子上的所有圆盘按 “小圆盘在上、大圆盘在下” 的规则移到另一根柱子,且移动过程中始终遵守 “一次仅移一个圆盘、大圆盘不能压小圆盘” 的规则。本文将从问题原理出发,详细讲解汉诺塔的递归实现(核心思路,简洁优雅)和非递归实现(基于栈模拟,深入理解递归本质),并提供完整可运行的

By Ne0inhk
备战蓝桥杯----C/C++组 (一)所需C++基础知识(上)

备战蓝桥杯----C/C++组 (一)所需C++基础知识(上)

个人主页: wengqidaifeng ✨永远在路上,永远向前走 个人专栏: 数据结构 C语言 嵌入式小白启动! 重要OJ算法题详解 文章目录 * 前言 * 一. 分析大纲,了解所需 * 1. 大纲显示内容 * 2、组别划分与难度关系 * 3、知识点结构分析(按组别) * 3.1 大学C组:基础入门阶段 * 3.2 大学B组:中级提高阶段 * 3.3 大学A组 / 研究生组:高级挑战阶段 * 4.难度系数说明 * 二. C++基础语法(上):从零开始的编程基石 * 1.前言 * 2.开发环境搭建 - DevC++的安装与使用 * 2.1

By Ne0inhk