mac m 芯片 动态切换 jdk 版本jdk8.jdk11.jdk17

ops/2025/4/1 4:57:50/
  1. 下载 jdk 版本. 默认安装路径在.
/Library/Java/JavaVirtualMachines

在这里插入图片描述

  1. 配置环境变量
# 动态获取所有 JDK 路径
export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v 11)
export JAVA_17_HOME=$(/usr/libexec/java_home -v 17)# 设置默认 JDK(示例为 JDK 8)
export JAVA_HOME=$JAVA_8_HOME
export PATH="$JAVA_HOME/bin:$PATH"# 定义别名动态切换版本(自动更新 PATH)
alias jdk8="export JAVA_HOME=\$JAVA_8_HOME; export PATH=\"\$JAVA_HOME/bin:\$PATH\"; echo 'Switched to JDK 8'"
alias jdk11="export JAVA_HOME=\$JAVA_11_HOME; export PATH=\"\$JAVA_HOME/bin:\$PATH\"; echo 'Switched to JDK 11'"
alias jdk17="export JAVA_HOME=\$JAVA_17_HOME; export PATH=\"\$JAVA_HOME/bin:\$PATH\"; echo 'Switched to JDK 17'"

输入完成,按esc键,输入:wq保存退出后执行命令:source ~/.bash_profile

  1. 刷新文件,验证

在这里插入图片描述


http://www.ppmy.cn/ops/170797.html

相关文章

el-table 表格 -- 数据更新图标不更新

一、数据实时更新问题 解决方案: 数组更新:使用 this.$set 或数组的变异方法 // 错误方式 ❌ this.tableData[index].name 新值// 正确方式 ✅ this.$set(this.tableData, index, { ...this.tableData[index], name: 新值 })// 或使用变异方法 this.…

SQL问题分析与诊断(8)——关键信息(1)

8.2. 关键信息 随着查询变得越来越复杂,其查询计划很快变得相当庞大且难以理解,按照之前讲述的方法,无论我们从右向左还是从左向右读取查询,结局是一样的。通常,可以通过在查询计划中寻找一些关键重点信息来定位潜在的问题,而非对整个查询计划的每个节点逐一分析和阅读。…

2025NCTF--Web

文章目录 Websqlmap-masterez_dashez_dash_revenge Web sqlmap-master 源码 from fastapi import FastAPI, Request from fastapi.responses import FileResponse, StreamingResponse import subprocessapp FastAPI()app.get("/") async def index():return File…

DeepSeek-R1 现已在 Amazon Bedrock 中作为完全托管的无服务器模型推出

DeepSeek-R1 现已在 Amazon Bedrock 中作为完全托管的无服务器模型推出 截至 1 月 30 日,DeepSeek-R1 模型已通过 Amazon Bedrock Marketplace 和 Amazon Bedrock 自定义模型导入在 Amazon Bedrock 中提供。从那时起,成千上万的客户在 Amazon Bedrock 中…

JVM 如何打破双亲委派模型?

虽然双亲委派模型是 Java 类加载机制的推荐实现方式,但在某些情况下,为了实现特定的功能,可能需要打破双亲委派模型。以下是一些常见的打破双亲委派模型的方法和场景: 1. 重写 loadClass 方法 (不推荐): 原理: java.l…

axios文件下载使用后端传递的名称

java后端通过HttpServletResponse 返回文件流 在Content-Disposition中插入文件名 一定要设置Access-Control-Expose-Headers,代表跨域该Content-Disposition返回Header可读,如果没有,前端是取不到Content-Disposition的,可以在统…

深度学习框架PyTorch——从入门到精通(10)PyTorch张量简介

这部分是 PyTorch介绍——YouTube系列的内容,每一节都对应一个youtube视频。(可能跟之前的有一定的重复) 创建张量随机张量和种子张量形状张量数据类型 使用PyTorch张量进行数学与逻辑运算简单介绍——张量广播关于张量更多的数学操作原地修改…

Rust从入门到精通之精通篇:26.性能优化技术

性能优化技术 在 Rust 精通篇中,我们将深入探索 Rust 的性能优化技术。Rust 作为一种系统级编程语言,其设计初衷之一就是提供与 C/C 相媲美的性能。在本章中,我们将学习如何分析和优化 Rust 代码性能,掌握编写高效 Rust 程序的技…