MacOS Apple M1 安装ARM架构的JDK及动态切换版本

JDK下载安装:

咱就是说,ARM版本的JDK就是一个字,真特么快,想变快吗,赶紧下载叭!!

1、下载地址:https://www.azul.com/downloads/?package=jdk
筛选一下MacOS下ARM架构的JDK版本,找到对应版本下载就行了
在这里插入图片描述
在这里插入图片描述

2、下载好以后打开,一直点击下一步即可
其中JDK8和11是在Zulu下载的,17版本的是在官网下载的
在这里插入图片描述
点击继续
在这里插入图片描述
安装好以后去下面的目录查看一下,依次执行下面的命令

打开终端输入

cd /Library/Java/JavaVirtualMachines

查看当前目录下有哪些JDK版本

ls

可以看到你安装好的版本信息,这里需要你复制一下对应的JDK版本名称,因为下面需要配置环境。其实MacOS不需要配置也是可以的,安装好以后输入java -version就可以看到已经自动识别到了,但是为了更方便的切换默认版本,配置一下也无妨。
在这里插入图片描述

3、打开终端输入下面三个命令,测试是否安装成功

java
javac
java -version

出现以下信息表示安装成成功
在这里插入图片描述

配置环境:

1、打开终端输入以下命令

# 编辑配置文件
vim ~/.bash_profile

2、在配置文件中新增以下内容,下面的版本号换成上面查出来的版本即可,如果有多个JDK的版本就把下面的版本号换一下即可

# 配置JDK路径
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
export JAVA_17_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/HomeCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.# 设置默认JDK版本
export JAVA_HOME=$JAVA_11_HOME# 配置alias命令可以动态切换JDK版本  
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
alias jdk17="export JAVA_HOME=$JAVA_17_HOME"export JAVA_HOME
export PATH
export CLASSPATH# maven配置
export MAVEN_HOME=/Users/itzhuzhu/Desktop/Java/maven/apache-maven-3.8.4
export PATH=$PATH:$MAVEN_HOME/bin         

3、保存退出文件后执行下面的(立即将配置文件生效的),退出使用:wq!

source ~/.bash_profile

4、验证配置(配置文件已经配置了alias,所以直接输入jdk名就可以切换版本了)
能够切换成功就说明配置可以了

itzhuzhu@itzhuzhudeMacBook-Pro JavaVirtualMachines % jdk8
itzhuzhu@itzhuzhudeMacBook-Pro JavaVirtualMachines % java -version  
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (Zulu 8.58.0.13-CA-macos-aarch64) (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (Zulu 8.58.0.13-CA-macos-aarch64) (build 25.312-b07, mixed mode)itzhuzhu@itzhuzhudeMacBook-Pro JavaVirtualMachines % jdk11        
itzhuzhu@itzhuzhudeMacBook-Pro JavaVirtualMachines % java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment Zulu11.52+51-CA (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM Zulu11.52+51-CA (build 11.0.13+8-LTS, mixed mode)itzhuzhu@itzhuzhudeMacBook-Pro JavaVirtualMachines % jdk17        
itzhuzhu@itzhuzhudeMacBook-Pro JavaVirtualMachines % java -version
java version "17.0.1" 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)
itzhuzhu@itzhuzhudeMacBook-Pro JavaVirtualMachines % 

注意:如果编辑文件时提示您不是文件“.bash_profile”的所有者,因此没有权限写到该文件。执行以下命令添加权限再编辑bash_profile文件

# 这里的itzhuzhu是我的用户名,你把它改成你的用户名即可
/usr/bin/sudo /bin/chmod u+rwx /Users/itzhuzhu/.bash_profile

5、查看JDK路径

echo $JAVA_HOME

卸载JDK:

打开终端输入

cd /Library/Java/JavaVirtualMachines

查看当前目录下有哪些JDK版本

ls

卸载指定版本

sudo rm -rf /Library/Java/JavaVirtualMachines/版本号# 例如
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

梯度下降和EM算法,kmeans的em推导

I. 牛顿迭代法给定一个复杂的非线性函数f(x),希望求它的最小值,我们一般可以这样做,假定它足够光滑,那么它的最小值也就是它的极小值点,满足f′(x0)0,然后可以转化为求方程f′(x)0的根了。非线性方程的根我…

Spring事务详解与使用

Spring事务核心对象 J2EE开发使用分层设计的思想进行,对于简单的业务层转调数据层的单一操作,事务开启在业务层或者数据层并无太大差别,当业务中包含多个数据层的调用时,需要在业务层开启事务,对数据层中多个操作进行组…

一、SQL语法——4-数据库约束

4-数据库约束 1.概述 (1)约束是在表上强制执行的数据校验规则,约束主要用于保证数据库里数据的完整性;此外当表中的数据存在相互依赖性时,可以保护相关的数据不被删除; (2)大部分数据…

黑马程序员博学谷Java就业班课程

1、资料全无加密,可任意试看 2、内容包括课程资料 地址:https://www.boxuegu.com/class/outline-1112.html

设计模式一の设计模式详解

一、设计模式定义 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;…

Spring模板对象

Spring模块对象: 把共性的方法抽取出来固定为一个模板,后续再操作只需要填充内容即可。 比如:淘宝每次买东西都要填写地址,只是每次买的东西不一样,所以可以做一个默认地址,每次买东西都要去选商品就行了,不…

SpringMVC入门案例

SpringMVC 概述: SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 三层架构 表现层:负责数据展示业务层:负责业务处理数据层:负责数据操作 MVC(Model View Controller):一种用于设计创建…

中文转换成字节数组

由中文转换成字节数组时由于编码格式的不同,一个汉字所占的字节会有所不同,在做转换时需特别注意。 例如, String.teststr "中国"; byte [] leng teststr.getBytestf-8"); 此时leng长度为6,即一个汉字占3个字节…

SpringMVC请求中的普通、POJO、数组集合类型传参与类转换器

SpringMVC将传递的参数封装到处理器方法的形参中,达到快速访问参数的目的。 普通类型参数传参 参数名与处理器方法形参名保持一致 访问URL: http://localhost/requestParam1?nameitzhuzhu&age14 RequestMapping("/requestParam1")publi…

【贪心算法】POJ-1017

一、题目 Description A factory produces products packed in square packets of the same height h and of the sizes 11, 22, 33, 44, 55, 66. These products are always delivered to customers in the square parcels of the same height h as the products have and of …

SpringMVC响应使用案例(带数据页面跳转,快捷访问路径,返回json数据)

页面跳转 转发(默认) RequestMapping("/showPage1") public String showPage1() {System.out.println("user mvc controller is running ...");// return "WEB_INF/pages/forward:page.jsp";这种方式不支持重定向&#…

HDU 2874 Connections between cities(LCA离线算法实现)

http://acm.hdu.edu.cn/showproblem.php?pid2874 题意: 求两个城市之间的距离。 思路: LCA题,注意原图可能不连通。 如果不了解离线算法的话,可以看我之前博客写的解释http://www.cnblogs.com/zyb993963526/p/7295894.html 1 #in…

SpringMVC中的异步请求-跨域访问

发送异步请求&#xff1a; <%page pageEncoding"UTF-8" language"java" contentType"text/html;UTF-8" %><a href"javascript:void(0);" id"testAjax">访问springmvc后台controller</a><br/> <…

P1080 国王游戏

题目描述 恰逢 H 国国庆&#xff0c;国王邀请 n 位大臣来玩一个有奖游戏。首先&#xff0c;他让每个大臣在左、右手上面分别写下一个整数&#xff0c;国王自己也在左、右手上各写一个整数。然后&#xff0c;让这 n 位大臣排成一排&#xff0c;国王站在队伍的最前面。排好队后&a…

SpringMVC配置静态资源加载, 中文乱码处理,注解驱动

常规配置&#xff08;Controller加载控制&#xff09; SpringMVC的处理器对应的bean必须按照规范格式开发&#xff0c;未避免加入无效的bean可通过bean加载过滤器进行包含设定或排除设定&#xff0c;表现层bean标注通常设定为Controller业务层与数据层bean加载由Spring控制&…

Android App性能測试

一、内存 1、查看单个应用App最大内存限制 Command&#xff1a;adb shell “getprop|grep heapgrowthlimit” C:\Users\hujiachun>adb shell "getprop|grep heapgrowthlimit" [dalvik.vm.heapgrowthlimit]: [128m] 128M是单个APP最大内存限制&#xff0c;假设Dalv…

SpringMVC-HandlerInterceptor拦截器的使用与参数详解

拦截器概念&#xff1a; 拦截器&#xff08; Interceptor&#xff09;是一种动态拦截方法调用的机制&#xff0c;请求处理过程解析核心原理&#xff1a; AOP思想拦截器链&#xff1a;多个拦截器按照一定的顺序&#xff0c;对原始被调用功能进行增强 作用&#xff1a; 在指定的…

使用FindBugs-IDEA插件找到代码中潜在的问题

另一篇使用文档&#xff0c;参照&#xff1a;https://www.cnblogs.com/huaxingtianxia/p/6703315.html 我们通常都会在APP上线之后,发现各种错误,尤其是空指针异常,这些错误对于用户体验来说是非常不好的,但其实大部分的问题,我们都能够提前发现. 在编写代码的过程中,可能不会时…

SpringMVC异常处理 自定义异常

异常处理器 实现HandlerExceptionResolver接口&#xff08;异常处理器&#xff09; Component // 配上注解Spring看到实现了这个接口就知道是异常处理器了 public class ExceptionResolver implements HandlerExceptionResolver {public ModelAndView resolveException(HttpSe…

霍炬:再谈百度:KPI、无人机,以及一个必须给父母看的案例

霍炬&#xff1a;再谈百度&#xff1a;KPI、无人机&#xff0c;以及一个必须给父母看的案例 作者&#xff1a;霍炬。 原文链接&#xff1a;http://www.donews.com/idonews/article/8147.shtm没想到我之前的一篇关于百度的文章引起了这么大的反馈。非常多朋友称赞我写的好&…