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

Visual C++运行库一键修复终极指南:告别DLL缺失烦恼

Visual C++运行库一键修复终极指南:告别DLL缺失烦恼 【免费下载链接】vcredistAIO Repack for latest Microsoft Visual C++ Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况?✅ 刚下载的游戏无法启动,提示"VCRUNTIME140.dll缺失";⚠️ 专业软件突然崩溃,显示错误代码0xc000007b;🚀 重装系统后原本正常的程序无法运行。这些问题往往都源于Visual C++运行库组件的问题。 Visual C++运行库是Windows系统中至关重要的组件,它为使用Visual Studio开发的应用程序提供运行时支持。当这些运行库缺失、损坏或版本不匹配时,各种软件就会出现运行异常。今天,我将为你介绍一款强大的修复工具——VisualCppRedist AIO,让你轻松解决这些烦人的系统依赖问题。 常见问题场景:你中招了吗?

By Ne0inhk
【C++笔记】STL详解:string的实现

【C++笔记】STL详解:string的实现

前言:                 在前面的学习中,我们已经初步掌握了string类接口函数的使用方法,本文将带领大家从零开始,逐步实现一个完整的string类。          一、string类总览                 温馨提示: 为了避免与标准库中的string产生命名冲突,我们使用mystd命名空间进行封装。 namespace mystd { class string { public: //迭代器 typedef char* iterator; typedef const char* const_iterator; //默认成员函数 string(); string(const char* str); //构造函数 string(const string& s); //拷贝构造函数 string& operator=(const string& s); //赋值运算符重载函数 ~string(); //析构函数 //迭代器相关函数 iterator begin(

By Ne0inhk
C++ 面试题常用总结 详解(满足c++ 岗位必备,不定时更新)

C++ 面试题常用总结 详解(满足c++ 岗位必备,不定时更新)

📚 本文主要总结了一些常见的C++面试题,主要涉及到语法基础、STL标准库、内存相关、类相关和其他辅助技能,掌握这些内容,基本上就满足C++的岗位技能(红色标记为重点内容),欢迎大家前来学习指正,会不定期去更新面试内容。  Hi~!欢迎来到碧波空间,平时喜欢用博客记录学习的点滴,欢迎大家前来指正,欢迎欢迎~~ ✨✨ 主页:碧波 📚 📚 专栏:C++ 系列文章 目录 一、C ++ 语法基础 🔥 谈谈变量的使用和生命周期,声明和初始化 🔥 谈谈C++的命名空间的作用 🔥  include " " 和 <> 的区别 🔥 指针是什么? 🔥 什么是指针数组和数组指针 🔥 引用是什么? 🔥 指针和引用的区别 🔥 什么是函数指针和指针函数以及区别 🔥 什么是常量指针和指针常量以及区别 🔥 智能指针的本质是什么以及实现原理 🔥 weak_ptr 是否有计数方式,在那分配空间? 🔥 类型强制转换有哪几种? 🔥 函数参数传递时,

By Ne0inhk
C++ 继承入门(下):友元、静态成员与菱形继承的底层逻辑

C++ 继承入门(下):友元、静态成员与菱形继承的底层逻辑

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》 《C++入门到进阶&自我学习过程记录》《算法题讲解指南》--从优选到贪心 ✨未择之路,不须回头 已择之路,纵是荆棘遍野,亦作花海遨游 目录 前言 一. 友元 —— 友元关系不可继承   1、错误版本   2、正确版本 二. 静态成员 —— 继承体系中静态成员的共享性 三. 多继承及菱形继承问题:本质特点与解决方案   1、单继承与多继承模型   2、菱形继承:虚继承解决“数据冗余”与“二义性”     2.1 菱形继承出现的坑(解决二义性问题)     2.2 虚继承:彻底解决菱形继承问题     3、多继承中指针偏移问题 友元,静态成员,

By Ne0inhk