Mac jdk版本

1.Alias 临时切换jdk版本

编辑你的 shell 配置文件(根据你用的 shell):

  1. 查看使用的是哪种 shell
java 复制代码
echo $SHELL
  • 如果是 zsh(macOS 默认从 Catalina 开始):编辑 ~/.zshrc
  • 如果是 bash:编辑 ~/.bash_profile~/.bashrc
  1. 编辑配置文件
bash 复制代码
nano ~/.zshrc

添加以下别名(根据你实际安装的版本调整路径):

ini 复制代码
# JDK 8
alias jdk8='export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_381.jdk/Contents/Home && echo "JDK 8 activated" && java -version'

# JDK 17
alias jdk17='export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home && echo "JDK 17 activated" && java -version'

# JDK 21
alias jdk21='export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-21.jdk/Contents/Home && echo "JDK 21 activated" && java -version'

保存并退出(Ctrl+O → 回车 → Ctrl+X),然后重新加载配置:

bash 复制代码
source ~/.zshrc
  1. 使用方式(在终端中输入):
bash 复制代码
jdk8    # 切换到 JDK 8
jdk17   # 切换到 JDK 17
jdk21   # 切换到 JDK 21

2.Mac定位jdk安装路径

shell 复制代码
/usr/libexec/java_home -V

3.Mac CPU架构

特性 aarch64 x64(也叫 x86_64)
架构类型 ARM 架构 Intel/AMD x86 架构
全称 ARM 64-bit 64-bit x86(Intel/AMD)
常见设备 Apple M1/M2/M3 芯片 Mac、树莓派、手机 Intel 芯片 Mac、Windows 电脑、大多数 PC
功耗 低(能效高) 相对较高
性能特点 高性能每瓦,适合移动设备 高绝对性能,适合传统桌面/服务器
是否兼容 ❌ 不能直接运行 x64 程序 ❌ 不能直接运行 aarch64 程序

4.永久设置jdk版本

java 复制代码
echo $SHELL
  • 如果是 zsh(macOS 默认从 Catalina 开始):编辑 ~/.zshrc
  • 如果是 bash:编辑 ~/.bash_profile~/.bashrc
js 复制代码
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.0.8+9/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

jdk下载地址

相关推荐
浮尘笔记20 小时前
Go语言中的同步等待组和单例模式:sync.WaitGroup和sync.Once
开发语言·后端·单例模式·golang
有梦想的攻城狮20 小时前
Django使用介绍
后端·python·django
IT_陈寒21 小时前
2025年React生态最新趋势:我从Redux迁移到Zustand后性能提升40%的心得
前端·人工智能·后端
superman超哥21 小时前
Rust VecDeque 的环形缓冲区设计:高效双端队列的奥秘
开发语言·后端·rust·rust vecdeque·环形缓冲区设计·高效双端队列
半路程序员21 小时前
Go内存泄漏排查pprof和trace使用
开发语言·后端·golang
WongLeer21 小时前
Go + GORM 多级分类实现方案对比:内存建树、循环查询与 Preload
开发语言·后端·mysql·golang·gorm
Victor35621 小时前
Hibernate(34)Hibernate的别名(Alias)是什么?
后端
superman超哥21 小时前
Rust HashMap的哈希算法与冲突解决:高性能关联容器的内部机制
开发语言·后端·rust·哈希算法·编程语言·冲突解决·rust hashmap
Victor35621 小时前
Hibernate(33) Hibernate的投影(Projections)是什么?
后端
a程序小傲21 小时前
【Node】单线程的Node.js为什么可以实现多线程?
java·数据库·后端·面试·node.js