jdk21下载、安装(Windows、Linux、macOS)

jdk21下载、安装(Windows、Linux、macOS)

Windows 系统

1. 下载安装

访问 Oracle 官方 JDK 下载页面OpenJDK 下载页面,根据自己的系统选择合适的 Windows 版本进行下载(通常选择 .msi 安装包)。

2. 配置环境变量

右键点击 “此电脑”,选择 “属性”。

在左侧导航栏中点击 “高级系统设置”。

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

配置 JAVA_HOME 变量

  • 在 “系统变量” 区域,点击 “新建” 按钮。
  • 在 “变量名” 输入框中输入 JAVA_HOME,在 “变量值” 输入框中输入 JDK 21 的安装路径,例如 C:\Program Files\Java\jdk-21
  • 点击 “确定” 保存。

配置 Path 变量

  • 在 “系统变量” 区域找到 Path 变量,选中它并点击 “编辑” 按钮。
  • 点击 “新建”,添加以下两个路径:
    • %JAVA_HOME%\bin
    • %JAVA_HOME%\jre\bin(如果 JDK 21 包含 JRE 的话)
    • .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  • 点击 “确定” 保存。

3. 验证安装

打开命令提示符(CMD),输入以下命令:

java -version javac -version

Linux 系统

1. 下载 JDK 21

2. 安装 JDK 21

  • 打开终端,使用以下命令将下载的压缩包解压到指定目录,例如 /usr/local/java
sudo mkdir /usr/local/java sudo tar -zxvf jdk-21.*.tar.gz -C /usr/local/java

3. 配置环境变量

  • 打开终端,编辑 ~/.bashrc/etc/profile 文件(~/.bashrc 是用户级配置,/etc/profile 是系统级配置):
sudo vim ~/.bashrc
  • 在文件末尾添加以下内容:
export JAVA_HOME=/usr/local/java/jdk-21 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 保存并退出文件,然后执行以下命令使配置生效:
source ~/.bashrc

4. 验证安装

java -version javac -version

如果能够正确显示 JDK 21 的版本信息,则说明安装和配置成功。

macOS 系统

1. 下载 JDK 21

2. 安装 JDK 21

  • 双击下载好的 .dmg 安装包,按照安装向导的提示进行操作。

3. 配置环境变量

  • 打开终端,编辑 ~/.bash_profile~/.zshrc 文件(如果使用的是 Zsh 终端):
vim ~/.zshrc
  • 在文件末尾添加以下内容:
export JAVA_HOME=$(/usr/libexec/java_home -v 21) export PATH=$JAVA_HOME/bin:$PATH
  • 保存并退出文件,然后执行以下命令使配置生效:
source ~/.zshrc

4. 验证安装

  • 在终端中输入以下命令:
java -version javac -version

如果能够正确显示 JDK 21 的版本信息,则说明安装和配置成功。

多个 jdk 版本如何切换

windows 系统

1. 安装多个 JDK 版本

首先,按照正常的安装流程在系统中安装多个不同版本的 JDK,例如 JDK 8 和 JDK 21,并记住它们各自的安装路径。

2. 配置环境变量

为每个 JDK 版本设置独立的环境变量,以方便后续切换。

  • 右键点击 “此电脑”,选择 “属性”。
  • 在左侧导航栏中点击 “高级系统设置”。
  • 在弹出的 “系统属性” 窗口中,点击 “环境变量” 按钮。
  • 新建环境变量
    • 分别为不同版本的 JDK 创建对应的环境变量,例如 JDK8JDK21,变量值分别为 JDK 8 和 JDK 21 的安装路径。
    • JDK8C:\Program Files\Java\jdk1.8.0_xxx
    • JDK21C:\Program Files\Java\jdk-21
  • 修改 JAVA_HOME 变量
    JAVA_HOME 是用于指定当前使用的 JDK 版本的关键变量。当需要切换 JDK 版本时,只需修改 JAVA_HOME 的值。例如,要使用 JDK 8,将 JAVA_HOME 的值设置为 %JDK8%;要使用 JDK 21,将其值设置为 %JDK21%
  • 修改Path变量
    确保 Path 变量中引用的是 %JAVA_HOME%\bin,这样每次修改 JAVA_HOME 后,Path 也会相应更新。

3. 验证切换

每次修改 JAVA_HOME 后,打开新的命令提示符窗口,输入以下命令验证 JDK 版本是否切换成功

java -version

Linux 系统

1. 安装多个 JDK 版本

使用包管理器或手动解压安装包的方式在系统中安装多个不同版本的 JDK。

2. 配置环境变量

编辑 ~/.bashrc/etc/profile 文件,为每个 JDK 版本设置独立的环境变量,并添加切换函数。

# 定义不同 JDK 版本的路径 export JAVA_HOME_8=/usr/local/java/jdk1.8.0_xxx export JAVA_HOME_21=/usr/local/java/jdk-21 # 定义切换 JDK 版本的函数 switchjdk() { case $1 in 8) export JAVA_HOME=$JAVA_HOME_8 ;; 21) export JAVA_HOME=$JAVA_HOME_21 ;; *) echo "Usage: switchjdk 8|21" ;; esac export PATH=$JAVA_HOME/bin:$PATH } # 初始默认 JDK 版本 switchjdk 21

保存文件后,执行以下命令使配置生效:

source ~/.bashrc

3. 切换 JDK 版本

在终端中使用 switchjdk 函数切换 JDK 版本,例如要切换到 JDK 8,执行以下命令:

switchjdk 8

然后输入以下命令验证切换结果:

java -version

macOS 系统

1. 安装多个 JDK 版本

通过 .dmg 安装包或 Homebrew 等工具在系统中安装多个不同版本的 JDK。

2. 配置环境变量

编辑 ~/.bash_profile~/.zshrc 文件,添加切换 JDK 版本的函数。

# 定义切换 JDK 版本的函数 switchjdk() { export JAVA_HOME=$(/usr/libexec/java_home -v $1) export PATH=$JAVA_HOME/bin:$PATH } # 初始默认 JDK 版本 switchjdk 21

保存文件后,执行以下命令使配置生效:

source ~/.zshrc

3. 切换 JDK 版本

在终端中使用 switchjdk 函数切换 JDK 版本,例如要切换到 JDK 8,执行以下命令:

switchjdk 1.8

接着输入以下命令验证切换结果:

java -version

Read more

从风格选择到乐谱输出,NotaGen WebUI使用全流程揭秘

从风格选择到乐谱输出,NotaGen WebUI使用全流程揭秘 1. 引言:AI音乐生成的新范式 随着大语言模型(LLM)技术的不断演进,其应用边界已从文本生成扩展至多模态内容创作。在音乐领域,基于LLM范式的符号化音乐生成正成为研究与实践的前沿方向。NotaGen作为一款专注于古典音乐生成的AI系统,通过WebUI二次开发实现了用户友好的交互体验,使得非专业用户也能轻松创作具有特定风格特征的乐谱。 本文将围绕NotaGen WebUI的实际使用流程展开,系统性地介绍从环境启动、风格配置、参数调优到乐谱输出的完整链路。不同于传统的黑箱式AI工具,NotaGen强调可解释性与可控性,允许用户通过明确的时期-作曲家-乐器三重组合来引导生成过程,从而实现对音乐风格的精准控制。 本指南适用于希望快速上手NotaGen并进行高质量古典音乐创作的技术爱好者、音乐教育工作者以及数字艺术创作者。我们将结合界面操作、参数逻辑和实际案例,帮助您掌握这一创新工具的核心用法。 2. 环境准备与WebUI启动 2.1 启动命令与运行路径 NotaGen的WebUI服务部署于指定目录下,需通过P

By Ne0inhk
Springboot基于Web的社区医院管理服务系统95an6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

Springboot基于Web的社区医院管理服务系统95an6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能:用户,医生,预约医生,就诊信息,诊疗方案,病历信息,健康档案,费用信息 开题报告内容 一、研究背景与意义 研究背景 随着“健康中国2030”战略的推进,社区医院作为基层医疗服务体系的核心,承担着疾病预防、健康管理、常见病诊疗等重要职能。据国家卫健委统计,截至2023年底,我国社区卫生服务中心(站)数量已达3.6万个,年诊疗人次超过8亿。然而,传统社区医院管理存在以下问题: 1. 信息化水平低:70%的社区医院仍依赖纸质病历和手工登记,导致数据更新滞后、查询效率低下。 2. 服务碎片化:挂号、缴费、取药等环节缺乏协同,患者平均候诊时间超过1.5小时。 3. 资源分配不均:基层医生日均接诊量差异达3倍以上,部分社区医院设备闲置率超40%。 4. 医患互动不足:患者健康档案利用率不足30%

By Ne0inhk

亲测VibeThinker-1.5B-WEBUI:AIME解题效果惊艳

亲测VibeThinker-1.5B-WEBUI:AIME解题效果惊艳 你有没有试过对着一道AIME真题盯了二十分钟,草稿纸写满三页却卡在关键一步?有没有在Codeforces比赛倒计时五分钟时,突然想不起那个最优的DP状态转移方程?我也有。直到上周,我在ZEEKLOG星图镜像广场点开VibeThinker-1.5B-WEBUI,输入第一道AIME24第12题——三分钟后,屏幕上跳出完整推导、清晰注释和最终答案。不是冷冰冰的数字,而是一段像人类教练一样边讲边算的解题过程。 这不是GPT-4或Claude的云端调用,而是跑在我本地RTX 3060上的一个仅1.5B参数的模型。它不聊天气,不写情书,就专注做一件事:把数学题拆开、嚼碎、再一步步拼回正确答案。今天这篇实测笔记,不讲参数量对比,不列训练成本曲线,只说它在真实解题场景里——到底有多好用。 1. 部署极简:三步启动,五秒加载 VibeThinker-1.5B-WEBUI的部署体验,彻底刷新了我对“小模型”的理解。它不像动辄要配8张A100的庞然大物,而更像一个即插即用的解题U盘。 1.1 一键式环境准备 镜像已预装全部

By Ne0inhk
前端异常捕获与统一格式化:从 console.log(error) 到服务端上报

前端异常捕获与统一格式化:从 console.log(error) 到服务端上报

🧑 博主简介:ZEEKLOG博客专家,「历代文学网」(公益文学网,PC端可以访问:https://lidaiwenxue.com/#/?__c=1000,移动端可关注公众号 “ 心海云图 ” 微信小程序搜索“历代文学”)总架构师,首席架构师,也是联合创始人!16年工作经验,精通Java编程,高并发设计,分布式系统架构设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。 🤝商务合作:请搜索或扫码关注微信公众号 “ 心海云图 ” 前端异常捕获与统一格式化:从 console.log(error) 到服务端上报 引言 在前端开发中,异常监控是保证应用稳定性的重要一环。当用户遇到页面白屏、功能不可用等问题时,如果能及时收集到详细的错误信息(包括堆栈、

By Ne0inhk