当前位置: 首页 > news >正文

在 Mac(ARM 架构)上安装 JDK 8 环境

文章目录

      • 步骤 1:检查系统版本
      • 步骤 2:下载支持 ARM 的 JDK 8
      • 步骤 3:安装 JDK
      • 步骤 4:配置环境变量
      • 步骤 5:验证安装
      • 步骤 6:注意事项
      • 步骤7:查看Java的安装路径

在 Mac(ARM 架构)上安装 JDK 8 环境可能需要一些特殊步骤,因为 Java 8 是较早的版本,并未针对 ARM 架构(如 Apple M1/M2 芯片)进行原生优化。以下是详细步骤:


步骤 1:检查系统版本

确保你的 Mac 是 ARM 架构(Apple Silicon,如 M1/M2 芯片)。

  • 打开 终端,输入:
    uname -m
    
    • 如果输出 arm64,表示是 ARM 架构。
    • 如果输出 x86_64,表示运行的是 Rosetta 模拟环境。

步骤 2:下载支持 ARM 的 JDK 8

  1. 访问 Azul Zulu 官网
    Azul 是少数支持 ARM 架构的 JDK 8 发行商之一。

    • 打开网址:Azul Zulu Builds.
    • https://www.azul.com/downloads/?package=jdk#zulu
    • 在这里插入图片描述
  2. 选择 JDK 8 的 ARM64 版本

    • 在下载页面,选择:
      • Java Version: 8
      • Operating System: macOS
      • Architecture: ARM 64-bit
      • Package Type: JDK
    • 下载 .dmg 文件。

步骤 3:安装 JDK

  1. 打开下载的 .dmg 文件,按照提示安装。
  2. 确保 JDK 安装路径是 /Library/Java/JavaVirtualMachines/.

步骤 4:配置环境变量

为了全局使用 JDK,需要配置环境变量。

  1. 打开 Shell 配置文件

    • 如果使用 zsh(macOS 默认 Shell):
      nano ~/.zshrc
      
    • 如果使用 bash
      nano ~/.bash_profile
      
  2. 添加以下内容

    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
    export PATH=$JAVA_HOME/bin:$PATH
    
  3. 保存并刷新配置:

    source ~/.zshrc   # 或 source ~/.bash_profile
    

步骤 5:验证安装

  1. 检查 Java 版本:

    java -version
    
    • 期望输出类似:

      java version "1.8.0_xxx"
      Java(TM) SE Runtime Environment (build 1.8.0_xxx-bxx)
      
      dgq@dgqdeMac-mini / % java -version
      openjdk version "1.8.0_432"
      OpenJDK Runtime Environment (Zulu 8.82.0.21-CA-macos-aarch64) (build 1.8.0_432-b06)
      OpenJDK 64-Bit Server VM (Zulu 8.82.0.21-CA-macos-aarch64) (build 25.432-b06, mixed mode)
      
  2. 检查 JAVA_HOME

    echo $JAVA_HOME
    
    • 期望输出类似:
      /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
      

步骤 6:注意事项

  1. 与其他 JDK 共存
    如果你同时安装了多个版本的 JDK,可以使用以下命令切换:

    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
    
  2. Rosetta 模拟运行
    如果某些 Java 应用无法正常运行,可以尝试用 Rosetta 运行终端:

    • 右键 Finder 中的终端应用,选择 获取信息
    • 勾选 使用 Rosetta 打开

完成以上步骤后,你的 Mac 应该已经正确配置了 JDK 8 环境!

步骤7:查看Java的安装路径

dgq@dgqdeMac-mini / % /usr/libexec/java_home -V
Matching Java Virtual Machines (1):1.8.0_432 (arm64) "Azul Systems, Inc." - "Zulu 8.82.0.21" /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

相关文章:

在 Mac(ARM 架构)上安装 JDK 8 环境

文章目录 步骤 1:检查系统版本步骤 2:下载支持 ARM 的 JDK 8步骤 3:安装 JDK步骤 4:配置环境变量步骤 5:验证安装步骤 6:注意事项步骤7:查看Java的安装路径 在 Mac(ARM 架构&#xf…...

Linux高阶——1123—

1、服务器版本介绍及实现 1、单进程单任务服务器(阻塞IO) 单进程模型,阻塞IO冲突,等待连接时无法读取数据,读取数据时无法连接 比较适合处理单任务,排队处理业务 伪代码 while(true) {addrlensizeof(c…...

VOLO实战:使用VOLO实现图像分类任务(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…...

【kafka02】消息队列与微服务之Kafka部署

Kafka 部署 Kafka 部署说明 kafka 版本选择 kafka 基于scala语言实现,所以使用kafka需要指定scala的相应的版本.kafka 为多个版本的Scala构建。这仅在使用 Scala 时才重要,并且希望为使用的相同 Scala 版本构建一个版本。否则,任何版本都可以 kafka下…...

MySQL系列之数据类型(Numeric)

导览 前言一、数值类型综述二、数值类型详解1. NUMERIC1.1 UNSIGNED或SIGNED1.2 数据类型划分 2. Integer类型取值和存储要求3. Fixed-Point类型取值和存储要求4. Floating-Point类型取值和存储要求 结语精彩回放 前言 MySQL系列最近三篇均关注了和我们日常工作或学习密切相关…...

BERT简单理解;双向编码器优势

目录 BERT简单理解 一、BERT模型简单理解 二、BERT模型使用举例 三、BERT模型的优势 双向编码器优势 BERT简单理解 (Bidirectional Encoder Representations from Transformers)模型是一种预训练的自然语言处理(NLP)模型,由Google于2018年推出。以下是对BERT模型的简…...

LLamafactory 批量推理与异步 API 调用效率对比实测

背景 在阅读 LLamafactory 的文档时候,发现它支持批量推理: 推理.https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/inference.html 。 于是便想测试一下,它的批量推理速度有多快。本文实现了 下述两种的大模型推理,并对…...

spf算法、三类LSA、区间防环路机制/规则、虚连接

1.构建spf树: 路由器将自己作为最短路经树的树根根据Router-LSA和Network-LSA中的拓扑信息,依次将Cost值最小的路由器添加到SPF树中。路由器以Router ID或者DR标识。广播网络中DR和其所连接路由器的Cost值为0。SPF树中只有单向的最短路径,保证了OSPF区域内路由计管不…...

C语言学习 12(指针学习1)

一.内存和地址 1.内存 在讲内存和地址之前,我们想有个⽣活中的案例: 假设有⼀栋宿舍楼,把你放在楼⾥,楼上有100个房间,但是房间没有编号,你的⼀个朋友来找你玩,如果想找到你,就得挨…...

TypeError: issubclass() arg 1 must be a class

TypeError: issubclass() arg 1 must be a class 报错代码: import spacy 原因: 库版本错误, 解决方法: pip install typing-inspect0.8.0 typing_extensions4.5.0 感谢作者: langchain TypeError: issubclass() …...

Java面试题、八股文学习之JVM篇

1.对象一定分配在堆中吗?有没有了解逃逸分析技术? 对象不一定总是分配在堆中。在Java等一些高级编程语言中,对象的分配位置可以通过编译器或运行时系统的优化来决定。其中,逃逸分析(Escape Analysis)是用于…...

【eNSP】动态路由协议RIP和OSPF

动态路由RIP(Routing Information Protocol,路由信息协议)和OSPF(Open Shortest Path First,开放式最短路径优先)是两种常见的动态路由协议,它们各自具有不同的特点和使用场景。本篇会对这两种协…...

春秋云境 CVE 复现

CVE-2022-4230 靶标介绍 WP Statistics WordPress 插件13.2.9之前的版本不会转义参数,这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下,具有管理选项功能 (admin) 的用户可以使用受影响的功能,但是该插件有一个设置允许低权限用…...

Linux入门攻坚——39、Nginx入门

Nginx:engine X Tengine:淘宝改进维护的版本 Registry: 使用了libevent库:高性能的网络库 epoll()函数 Nginx特性: 模块化设计、较好的扩展性;(但不支持动态加载模块功能&#…...

计算机网络的类型

目录 按覆盖范围分类 个人区域网(PAN) 局域网(LAN) 城域网(MAN) 4. 广域网(WAN) 按使用场景和性质分类 公网(全球网络) 外网 内网(私有网…...

解决 MySQL 5.7 安装中的常见问题及解决方案

目录 前言1. 安装MySQL 5.7时的常见错误分析1.1 错误原因及表现1.2 错误的根源 2. 解决方案2.1 修改YUM仓库配置2.2 重新尝试安装2.3 处理GPG密钥错误2.4 解决依赖包问题 3. 安装成功后的配置3.1 启动MySQL服务3.2 获取临时密码3.3 修改root密码 4. 结语 前言 在Linux服务器上…...

VITE+VUE3+TS环境搭建

前言(与搭建项目无关): 可以安装一个node管理工具,比如nvm,这样可以顺畅的切换vue2和vue3项目,以免出现项目跑不起来的窘境。我使用的nvm,当前node 22.11.0 目录 搭建项目 添加状态管理库&…...

【设计模式】【创建型模式(Creational Patterns)】之原型模式(Prototype Pattern)

1. 设计模式原理说明 原型模式(Prototype Pattern) 是一种创建型设计模式,它允许你通过复制现有对象来创建新对象,而无需通过构造函数来创建。这种方式可以提高性能,尤其是在对象初始化需要消耗大量资源或耗时较长的情…...

黄仁勋:人形机器人在内,仅有三种机器人有望实现大规模生产

11月23日,芯片巨头、AI时代“卖铲人”和最大受益者、全球市值最高【英伟达】创始人兼CEO黄仁勋在香港科技大学被授予工程学荣誉博士学位;并与香港科技大学校董会主席沈向洋展开深刻对话,涉及人工智能(AI)、计算力、领导…...

【C语言】宏定义详解

C语言中的宏定义(#define)详细解析 在C语言中,宏定义是一种预处理指令,使用 #define 关键字定义。它由预处理器(Preprocessor)在编译前处理,用于定义常量、代码片段或函数样式的代码替换。宏是…...

LangChain——多向量检索器

每个文档存储多个向量通常是有益的。在许多用例中,这是有益的。 LangChain 有一个基础 MultiVectorRetriever ,这使得查询此类设置变得容易。很多复杂性在于如何为每个文档创建多个向量。本笔记本涵盖了创建这些向量和使用 MultiVectorRetriever 的一些常…...

《岩石学报》

本刊主要报道有关岩石学基础理论的岩石学领域各学科包括岩浆岩石学、变质岩石学、沉积岩石学、岩石大地构造学、岩石同位素年代学和同位素地球化学、岩石成矿学、造岩矿物学等方面的重要基础理论和应用研究成果,同时也刊载综述性文章、问题讨论、学术动态以及书评等…...

数据结构 (12)串的存储实现

一、顺序存储结构 顺序存储结构是用一组连续的存储单元来存储串中的字符序列。这种存储方式类似于线性表的顺序存储结构,但串的存储对象仅限于字符。顺序存储结构又可以分为定长顺序存储和堆分配存储两种方式。 定长顺序存储: 使用静态数组存储&#xff…...

职场发展陷阱

一、只有执行,没有思考 二、只有过程,没有结果 三、只有重复,没有精进 四、不懂向上管理 五、定期汇报 六、不要憋大招 七、多同步信息...

Xcode15(iOS17.4)打包的项目在 iOS12 系统上启动崩溃

0x00 启动崩溃 崩溃日志,只有 2 行,看不出啥来。 0x01 默认配置 由于我开发时,使用的 Xcode 14.1,打包在另外一台电脑 Xcode 15.3 Xcode 14.1 Build Settings -> Asset Catalog Compliter - Options Xcode 15.3 Build S…...

极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【二】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...

PVE相关名词通俗表述方式———多处细节实验(方便理解)

PVE设置初期,对CIDR、 网关、 LinuxBridge、VLAN等很有困惑的朋友一定很需要一篇能够全面通俗易懂的方式去理解PVE 中Linux网桥的工作方式,就像操作一个英雄,多个技能,还是需要一点点去学习理解的,如果你上来就对着别人…...

Ansible--自动化运维工具

Ansible自动化运维工具介绍 1.Ansible介绍 Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。…...

微信小程序学习指南从入门到精通

🗽微信小程序学习指南从入门到精通🗽 🔝微信小程序学习指南从入门到精通🔝✍前言✍💻微信小程序学习指南前言💻一、🚀文章列表🚀二、🔯教程文章的好处🔯1. ✅…...

微服务篇-深入了解使用 RestTemplate 远程调用、Nacos 注册中心基本原理与使用、OpenFeign 的基本使用

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 认识微服务 1.1 单体架构 1.2 微服务 1.3 SpringCloud 框架 2.0 服务调用 2.1 RestTemplate 远程调用 3.0 服务注册和发现 3.1 注册中心原理 3.2 Nacos 注册中心 …...

做受免费网站/中国网站建设公司前十名

高性能动画!HTML5 Canvas JavaScript框架KineticJS KineticJS是一款开源的HTML5 Canvas JavaScript框架,能为桌面和移动应用提供高性能动画,并具有转场效果、节点嵌套、分层、滤镜、缓存以及事件处理等更多功能。即使你的应用包含了成千上万的…...

做网站选大公司好还是小公司好/网站策划是做什么的

以下文字转载自:http://blog.csdn.net/lbj05/article/details/6297214,对原作者表示感谢和敬意。iPhone SDK提供了多种动画手段,UIView、UIImageView和CALayer都支持动画。但如何处理常见的gif动画呢?UIWebView提供了答案&#xf…...

wordpress query_posts 浏览量/营销网站设计

记者 | 王晟 来源 | 荔枝新闻上周,特斯拉首席执行官埃隆•马斯克(Elon Musk),向在上海开幕的世界人工智能大会(WAIC)发来视频演讲。通过这段视频,荔枝科技分析了一下马斯克的办公室,看看这位世人瞩目的科技大亨,都有哪…...

wordpress页面加载时间/链接地址

使用VC编译C或者C程序,都需要相关的C runtime库才能运行。如果你是VC6,相应的库就叫MSVCR,如果是VC2005,那就是MSVCR08,VC2008就是MSVCR09。我这 里假设你安装的是VC2005,请进入如下目录:{VS In…...

外贸企业 访问国外网站/百度一下就知道了官网楯

Full GC 问题之前在一些文章里面已经讲过它的来龙去脉,主要的解决方案目前 主要有两方面需要注意,一方面需要查看 GC 日志确认是哪种 Full GC,根据 Full GC 类型对 JVM 参数进行调优,另一方面需要确认是否开启了 BucketCache 的 o…...

为政府做网站的公司/经典软文案例200字

" _...