Windows 11 环境下从 Java 17 升级到 Java 21:详细指南

Windows 11 环境下从 Java 17 升级到 Java 21:详细指南

🛠️ 详细步骤(超简单版)

✅ 第一步:下载Java 21

  1. 打开浏览器,访问Oracle官网下载页面:https://www.oracle.com/cn/java/technologies/downloads/#jdk21
  2. 选择"Windows x64"版本(64位系统)
  3. 点击"Download",下载JDK 21安装包(.exe文件)

💡 小提示:如果你不想登录Oracle账号,也可以从Adoptium下载免费的OpenJDK 21:https://adoptium.net/,选择"21"版本



✅ 第二步:安装Java 21

  1. 双击下载的JDK 21安装文件(比如jdk-21_windows-x64_bin.exe)
  2. 按照安装向导操作:
    • 保持默认安装路径:C:\Program Files\Java\jdk-21
    • 不要更改路径,避免出现中文或空格问题
    • 安装过程中可能会弹出UAC权限提示,点击"是"允许安装
💡 注意:"安装路径建议保持默认(C:\Program Files\Java\jdk-21),如需更改请使用纯英文路径。"

      我是在D盘创建了一个文件夹,命名为Java21。

✅ 第三步:配置环境变量(关键!)

  1. 右键点击"此电脑" → "属性" → "高级系统设置" → "环境变量"
  2. 在"系统变量"区域点击"新建":
    • 变量名:JAVA_HOME
    • 变量值:C:\Program Files\Java\jdk-21(这是你安装的路径)
  3. 在"系统变量"区域找到"Path",点击"编辑" → "新建":
    • 输入:%JAVA_HOME%\bin
  4. 点击"确定"保存所有设置
💡 注意:"特别注意系统原有Java路径可能产生冲突,建议将新配置项置于PATH变量顶部。"

     不置顶问题也不大。

✅ 第四步:验证安装

  1. 按下Win + R,输入cmd,回车打开命令提示符

正常情况下,你会看到类似这样的输出:

java version "21" 2023-09-19 LTS Java(TM) SE Runtime Environment (build 21+12-LTS-51) Java HotSpot(TM) 64-Bit Server VM (build 21+12-LTS-51, mixed mode) 

输入以下命令验证:

java -version javac -version 

✅ 第五步:检查是否成功替换

  1. 输入where java,确认路径指向的是Java 21
  2. 如果你之前用过Java 17,现在应该看到Java 21的版本信息

🌟 为什么这样配置最简单?

  • 只改一个变量:只需要修改JAVA_HOME指向Java 21的安装路径,就能完成切换
  • 无需删除旧版本:Java 17还在那里,如果你需要,可以随时切换回来
  • IDEA自动识别:在IntelliJ IDEA中,它会自动识别新的Java版本

💡 小技巧:多版本管理(本人推荐,如需要)

如果你想同时保留Java 17和Java 21,可以这样做:

  1. 新建一个JAVA_HOME_17变量:
    • 变量名:JAVA_HOME_17
    • 变量值:C:\Program Files\Java\jdk-17
  2. 新建一个JAVA_HOME_21变量:
    • 变量名:JAVA_HOME_21
    • 变量值:C:\Program Files\Java\jdk-21
  3. 然后修改JAVA_HOME变量:
    • 如果想用Java 17:C:\Program Files\Java\jdk-17
    • 如果想用Java 21:C:\Program Files\Java\jdk-21

这里必须只能设置:真实路径 ,不能设置%JAVA_HOME_21%,否则编译器无法读取到正确路径

  4.小白教程:对准“此电脑”,右键后点击“属性”。点击“高级系统设置”。点击环境变量。

💡 小提示:"JDK版本切换方法:可以更改 % 中的 JDK 变量名,从而达到切换不同 JDK 的目的。"

📌 为什么推荐用Java 21?

  • 虚拟线程:让你的高并发应用性能提升3倍以上
  • 代码更简洁:字符串模板、记录类等新特性让代码更易读
  • 长期支持:Java 21是LTS版本,提供8年以上的支持
  • 安全升级:支持后量子加密,为未来安全做准备

🌈 最后的小建议

  1. 先备份:在修改环境变量前,可以先备份一下当前的环境变量
  2. 重启CMD:修改环境变量后,最好重启命令提示符窗口
  3. IDEA中确认:打开IntelliJ IDEA,进入File > Project Structure,确认Project SDK已更新为Java 21
💡 小提示:"JDK 21已成为企业级开发的主流版本,带来了诸多长期支持的新特性。"

你打算现在就试试看吗?如果遇到问题,随时问我!我可以给你更具体的帮助。😊

Read more

Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务-适配鸿蒙 HarmonyOS ohos

Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务-适配鸿蒙 HarmonyOS ohos

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 wasm_ffi 深入鸿蒙端侧硬核 WebAssembly 虚拟机沙盒穿透适配全景:通过异步极速 FFI 中继管道打通底层高算力异构服务并全面实现无损语言壁垒交互 前言 在 OpenHarmony 应用向高性能计算领域扩展的过程中,如何优雅地接入已有的 C/C++ 算法库(如加密引擎、重型图像处理、数学模拟)而又不失跨平台的便捷性?传统的 NAPI 虽然稳健,但在 Flutter 生态中,直接利用 WebAssembly (WASM) 配合 FFI(External Function Interface)的语义可以在一定程度上实现代码的高度复用。wasm_ffi 库为 Flutter 开发者提供了一套在 Dart 环境下调用 WASM

By Ne0inhk
三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

三种适用于Web版IM(即时通讯)聊天信息的加密算法实现方案

文章目录 * **第一部分:引言与核心密码学概念** * **1.1 为什么IM需要端到端加密(E2EE)?** * **1.2 核心密码学概念与工具** * **第二部分:方案一:静态非对称加密(基础方案)** * **2.1 方案概述与流程** * **2.2 前端Vue实现(使用node-forge)** * **1. 安装依赖** * **2. 核心工具类 `crypto.js`** * **3. Vue组件中使用** * **2.3 后端Java实现(Spring Boot)** * **1. 实体类** * **2. Controller层** * **3. WebSocket配置** * **2.4 密钥管理、注册与登录集成** * **1. 用户注册/登录时生成密钥** * **2. 密钥设置页面** * **2.

By Ne0inhk
前端代码生成的大洗牌:当 GLM 4.7 与 MiniMax 挑战 Claude Opus,谁才是性价比之王?

前端代码生成的大洗牌:当 GLM 4.7 与 MiniMax 挑战 Claude Opus,谁才是性价比之王?

在 AI 辅助编程领域,长期以来似乎存在一条不成文的铁律:如果你想要最好的结果,就必须为最昂贵的模型买单(通常是 Anthropic 或 OpenAI 的旗舰模型)。然而,随着国产大模型如 GLM 4.7 和 MiniMax M2.1 的迭代,这一格局正在发生剧烈震荡。 最近,一场针对Claude Opus 4.5、Gemini 3 Pro、GLM 4.7 和 MiniMax M2.1 的前端 UI生成横向测评,打破了许多人的固有认知。在这场包含落地页、仪表盘、移动端应用等五个真实场景的较量中,不仅出现了令人咋舌的“滑铁卢”,更诞生了性价比极高的“新王”。 本文将深入拆解这场测试的细节,透过代码生成的表象,探讨大模型在工程化落地中的真实效能与成本逻辑。

By Ne0inhk
【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * JavaScript 正则表达式详解 * 什么是正则表达式🤔 * JavaScript 正则表达式的定义与使用🥝 * 1. 字面量语法 * 2. 常用匹配方法 * test() 方法🍋‍🟩 * exec() 方法🍋‍🟩 * 正则表达式的核心组成部分🐦‍🔥 * 1. 元字符 * 边界符 * 量词 * 字符类 * 2. 修饰符 * 简单示例🍂 JavaScript 正则表达式详解 正则表达式是处理字符串的强大工具,在 JavaScript 中被广泛应用于表单验证、文本处理和数据提取等场景。本文将从正则表达式的基本概念出发,详细介绍其语法规则和实际应用方法。 什么是正则表达式🤔 正则表达式是用于匹配字符串中字符组合的模式,在 JavaScript

By Ne0inhk