Java语言核心技术
 

日常办公和软件开发除了可以使用Windows系统以外,还可以使用macOS系统,至于具体使用什么系统取决于你入职公司之后公司给你发的什么电脑,如果是MacBookPro那么就使用macOS开发项目,因此现在我们开始在macOS系统下搭建Java8的开发环境,如果你的Mac电脑使用的Intel CPU,那么按照如下方法下载、安装和配置Java8的开发环境

1. Mac平台的CPU架构

早期Mac电脑都是使用Intel 的CPU,在2020年以后苹果公司在ARM架构的基础上自研CPU,例如M1,M1 Pro,M1 Ultra,M2等等,因此苹果公司的Mac电脑有 Intel x86架构和ARM 架构两种不同的CPU架构

那么问题来了,我怎么知道我使用的Mac电脑CPU架构呢?

在macOS Ventura 点击左上角的苹果菜单,然后选择关于本机



在弹出的窗口中看到芯片是Apple开头的 ,例如Apple M1 Pro,Apple M1 Max,Apple M1 Ultra,Apple M2,等等就是属于ARM架构

在macOS Montery 点击左上角的苹果菜单,然后选择关于本机

在弹出的概览窗口中看到处理器包含Intel,例如2.3 GHz 八核 Intel Core i9 就是属于Intel x86架构

正是有这两种不同的CPU架构,直接导致基于Intel x86架构开发的程序(例如金山文档、恒星播放器、cleanmymac)是无法直接运行在基于ARM架构的CPU(例如M1,M1 Pro,M1 Max,M1 Ultra ,M2)上

2. Rosetta

2.1 什么时候需要Rosetta

苹果公司提供了一个翻译工具-Rosetta 2,通过 Rosetta 2,搭载 Apple 芯片的 Mac 可以使用专为配备 Intel 处理器的 Mac 构建的 App,这样也就意味着以前为Intel CPU开发的程序可以通过Rosetta 2 运行在苹果芯片的Mac电脑上,例如金山文档、恒星播放器等等。

2.2 如何安装Rosetta

Rosetta 2 仅适用于搭载 Apple 芯片的 Mac 电脑。

首次打开需要 Rosetta 的 App 时,系统会要求您安装 Rosetta。点按“安装”,然后输入您的用户名和密码以允许继续安装。

什么时候需要Rosetta

如果您点按“以后”,则下次打开需要 Rosetta 的 App 时,系统会再次要求您安装 Rosetta。

如果 Rosetta 已经安装,则系统不会再次要求您安装,也就是仅仅需要安装一次。

2.3 如何使用 Rosetta

您不需要打开 Rosetta 或与这个 App 互动。每当您使用专为搭载 Intel 处理器的 Mac 电脑构建的 App 时,Rosetta 都会在后台自动运行。Rosetta 会转换相应 App,使它可以与 Apple 芯片搭配使用。

对于需要 Rosetta 的 App,在大多数情况下,您不会察觉它的性能有任何不同。不过,您应该联系 App 开发者,以询问相应 App 有没有一个版本能够以原生方式来充分利用 Apple 芯片的功能和性能。

2.4 哪些 App 需要 Rosetta?

要识别需要 Rosetta 或者可以使用 Rosetta 的 App,请按照以下步骤操作:

在“访达”中选择一个 App。

从菜单栏的“文件”菜单中,选取“显示简介”。

查看标有“种类”字样的信息:

应用程序 (Intel) 表示 App 仅支持 Intel 处理器,并且需要 Rosetta 才能在搭载 Apple 芯片的 Mac 上运行。例如金山文档、恒星播放器





应用程序(通用)表示 App 既支持 Apple 芯片也支持 Intel 处理器,并且在默认情况下使用 Apple 芯片。通用 App 不需要 Rosetta。



对于标有“应用程序(通用)”的 App,“简介”窗口包含“使用 Rosetta 打开”这项设置。通过这项设置,网页浏览器等通用 App 可以使用还没有更新为支持 Apple 芯片的插件、扩展或其他附加组件。如果某个通用 App 无法识别您为这个 App 安装的附加组件,您可以退出这个 App,选择这项设置,然后再试一次。



应用程序(Apple芯片) 表示App是专门针对Apple芯片开发的,例如例如M1,M1 Pro,M1 Max,M1 Ultra ,M2)等等

3. 基于Intel x86 64-bit macOS版Java8下载

  1. 访问Java官网,其访问地址是https://www.oracle.com/java/

  2. 点击右上角的Download Java,跳转到Java的下载页面



    Java的下载地址 https://www.oracle.com/java/technologies/downloads/



    目前Oracle官方提供的最新Java版本\JDK版本是Java19和Java17,但是最新的LTS版本是Java17

    这次我们要下载的是Java8,所以往下滚动鼠标到Java8的下载



    目前Java8支持4个操作系统
  • Linux
  • macOS
  • Solaris
  • Windows

Java8支持四个操作系统
  1. 选择macOS版x64 DMG Installer



    x64 DMG Installer 表示Intel x86 64位安装程序,如果你的Mac电脑使用的Intel CPU 那么就下载这个

4.下载jdk-8u351-macosx-x64.dmg

首先点击jdk-8u351-macosx-x64.dmg,然后勾选同意许可协议,最后点击Download jdk-8u351-macosx-x64.dmg

  1. 注册\登录Oracle账户

    如果没有Oracle账账户,大家可以在注册页面 https://profile.oracle.com/myprofile/account/create-account.jspx 填写相应的信息注册账户



    账户创建成功以后,在登录页面填写账户信息登录Oracle账户



    登录成功之后浏览器会自动开始下载

  2. 下载成功

    然后在访达的下载目录就可以看到jdk-8u351-macosx-x64.dmg文件

4. 基于Intel x86 64-bit macOS版Java8安装

  1. 双击jdk-8u351-macosx-x64.dmg文件

  2. 双击JDK 8 Update 351.pkg

  3. 点击继续

  4. 点击安装

安装之前安装器会提示 使用触控ID或输入密码以运行此次操作

  1. 安装中

安装中

  1. 安装成功

    点击后续步骤跳转到Java8的官方文档 https://docs.oracle.com/javase/8/

    点击关闭 完成安装

安装成功

然后会提示 你要将JDK 8 Update 351 安装器移动到废纸篓吗?

这里建议保留,因为后期可能会因为某些原因需要重新安装

  1. 推出桌面的JDK 8 Update 351

    选中JDK 8 Update 351 ,然后右键推出即可,当然也可以使用快捷键Command+E推出

5. 基于Intel x86 64-bit macOS版Java8配置

5.1 基于Intel x86 64-bit macOS版Java8配置说明

当基于Intel x86架构 macOS版Java8安装完成以后,你会发现即使没有配置JAVA_HOME环境变量,在终端上运行mvn --version时也不会像Windows那样提示需要配置JAVA_HOME

而且即使没有配置PATH环境变量,在终端的任意路径下也可以运行javac -version和java -version,意味着可以在终端的任意路径使用javac和java

这样是不是就意味着不用配置Java8的JAVA_HOME和PATH环境变量呢?

其实不然,因为后期我们会使用多个不同版本的Java,例如在开发Java项目时使用的Java8,而学习Java语言时为了使用高版本的新特性可能会使用Java11甚至Java17,这里就会有在终端上切换Java版本的需求。因此我们依然要配置Java8的JAVA_HOME和PATH环境变量

不过和Windows上Java8的配置方式不同,macOS版Java8的配置方式需要通过在终端上执行一些命令进行,如果你熟悉Linux命令那么上手会比较容易

5.2 基于Intel x86 64-bit macOS版Java8配置JAVA_HOME环境变量

JAVA_HOME其实指的就是Java的家目录,默认情况下Java8家目录的路径是/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home

配置JAVA_HOME环境变量的目的就是为了给Java8的PATH环境变量使用的

  1. 启动终端

    Mac内置终端程序,你可以在启动台的其他中找到它

内置的终端

不过我使用的是第三方终端iTerm,需要自己手动安装,可以使用Command+空格打开聚焦搜索,然后搜索iTerm回车后打开



  1. 查看系统所使用的Shell类型

    不同类型的Shell所使用的配置文件不同,例如zsh使用的.zshrc,而bash使用的.bash_profile

    使用echo $SHELL 命令可以查看当前使用的Shell类型,这里默认使用的是zsh

    如果想要使用bash,那么可以使用chsh -s /bin/bash命令切换到bash,不过切换以后需要重新开启新的窗口,然后使用echo $SHELL查看Shell类型

  2. 创建配置文件

    如果你是使用的bash ,那么在用户的家目录下使用touch .bash_profile 创建.bash_profile文件

    如果你是使用的zsh,那么在用户的家目录下使用touch .zshrc创建.zshrc文件

    Mac的家目录就是/Users/liuguanglei,其中liuguanglei表示用户名,每个系统的用户名可能不相同。打开终端以后默认的路径就是在家目录下

我这里使用默认的shell是zsh,因此创建.zshrc文件

文件创建成功后可以使用 ls -al查看文件

  1. 在配置文件中添加Java8的JAVA_HOME环境变量

首先使用vim .zshrc 打开文件



此时处于命令模式,无法添加内容



需要按i键进入编辑模式



然后添加如下配置

# 配置Java8的JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home

配置完成以后按esc退出编辑模式

退出了编辑模式后

然后按:wq 保存并退vim编辑器

  1. 重新加载配置文件

    在终端上输入source .zshrc让添加的配置生效

  2. 验证配置

    在终端上输入echo $JAVA_HOME 命令看能否输出Java8家目录的路径/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home

5.3 基于Intel x86 64-bit macOS版Java8配置PATH环境变量

5.3.1 PATH环境变量的介绍

PATH环境变量的本质就是一系列的路径,例如/bin,/usr/bin,/usr/local/bin,多个路径之间使用冒号(:)隔开,Mac下可以在终端上使用echo $PATH命令查看当前系统的PATH环境变量



PATH环境变量的作用就是在终端上执行命令时,系统会从PATH环境变量的路径查找命令对应的可执行程序,然后执行该程序

例如date 可以查看系统日期,而 where date 可以查看到date命令的路径,正因为/bin在PATH环境变量中,因此在终端输入date实际是运行的是/bin目录下的date程序



如果输入一个不存在的命令,那么系统会提示command not found

5.3.2 基于Intel x86 64-bit macOS版Java8配置PATH环境变量

  1. 启动终端

    Mac内置终端程序,你可以在启动台的其他中找到它

内置的终端

不过我使用的是第三方终端iTerm,需要自己手动安装,可以使用Command+空格打开聚焦搜索,然后搜索iTerm回车后打开



  1. 打开配置文件

    之前在配置JAVA_HOME环境变量创建过.zshrc文件,因此使用vim .zshrc命令打开即可



    打开文件后可以查看到Java8的JAVA_HOME环境变量配置

  2. 编辑配置文件

    vim打开文件后只能查看文件内容而不能编辑,因此按i键进入编辑模式

然后在文件末尾添加如下内容

#配置Java8的PATH环境变量
export PATH=$PATH:$JAVA_HOME/bin

配置Java8的PATH环境变量
  1. 保存配置并退出vim编辑器

    文件编辑完成后按esc退出编辑模式

然后按:wq保存并退出vim编辑器

  1. 重新加载配置文件

    在终端上输入source .zshrc让添加的配置生效

  2. 验证配置

    在终端上输入echo $PATH命令查看系统PATH环境变量,确认是否已经添加Java8的PATH环境变量

6. 基于Intel x86 64-bit macOS版Java8卸载

未来的某个时间可能你不再需要使用Java8时,就可以将其卸载,卸载Java8时需要删除三个目录和配置文件(例如.zshrc)

/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk # Java8的安装目录
/Library/Application\ Support/Oracle/Java/
/Library/PreferencePanes/JavaControlPanel.prefPane/ # Java8的控制面板

删除三个目录时需要使用sudo rm -rf 命令来完成,首次执行sudo rm -rf前需要输入用户的开机密码

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk
sudo rm -rf /Library/Application\ Support/Oracle/Java
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane

删除java8的三个目录

然后删除配置文件,例如.zshrc,此时使用rm .zshrc命令删除即可

删除.zshrc文件后重新开个终端窗口来验证JAVA_HOME和PATH环境变量是否已经删除

最后在终端上输入javac -version 和java -version,如果提示The operation couldn’t be completed. Unable to locate a Java Runtime. 表示卸载成功

跟光磊学Java-macOS版Java8开发环境搭建(基于Intel x86 64-bit)的更多相关文章

  1. Java(二)——开发环境搭建 安装JDK和配置环境变量

    1.安装JDK 下载地址  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 ...

  2. 《Java周边》vue开发环境搭建(windows)

    1. NodeJs 安装包下载 百度云:链接: https://pan.baidu.com/s/169TdKRLZd0dXbKSGTr8evw 提取码: th4a 复制这段内容后打开百度网盘手机App ...

  3. 基于IDEA的JavaWeb开发环境搭建

    基于IDEA的JavaWeb开发环境搭建 基于IDEA的JavaWeb开发环境搭建 jdk下载安装配置环境变量 下载 安装 配置环境变量 下载安装激活使用IntelliJ IDEA 下载 安装 激活 ...

  4. [.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建

    [.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建 1.概述 读前必备:认识.NET Core 上篇介绍了.NET 新的生态环境:包括.NET Framework..NET ...

  5. IntelliJ OpenCV 开发环境搭建

    Windows下的IntelliJ + OpenCV开发环境搭建 基于IntelliJ IDEA 15 和 OpenCV 3.1.0 1. 在OpenCV官网下载OpenCV安装程序,双击解压到目标目 ...

  6. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  7. Java、Android 开发环境搭建

    一.准备工作 为便于管理,将java开发工具集中到一个文件夹中.创建D:\javaDevE文件夹,JDK.Android-SDK.Eclipse.tomcat等都可以安装到这个文件夹中. 二.搭建Ja ...

  8. 开始JAVA编程的敲门砖——JAVA开发环境搭建

    从头开始的java编程--JAVA开发环境搭建 一.什么是java的开发环境? 顾名思义java的开发环境是提供并保证整个java程序开发运行的必要的环境,搭建java开发环境是开始java编程的敲门 ...

  9. 【Java】0X001.配置开发环境,JDK、classpath等

    [Java]0x01 配置开发环境,JDK.CLASSPATH等 一. 下载JDK安装文件 首先,进入Oracle官网Java页面. 注意,要下载的是JDK而不是JRE,这点很重要,因为JRE并不包含 ...

  10. python开发环境搭建及numpy基本属性-【老鱼学numpy】

    目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...

随机推荐

  1. 基于Netty的TCP服务框架

    19年写的一个基础的TCP服务框架,内置了一个简单IOC容器,当时的目标是一方面能作为组件供第三方集成实现TCP通讯相关功能,另一方面作为提供一种服务框架范式.所以框架核心点主要还是通过适度的封装,隐 ...

  2. 从SVN导出项目出现的乱码问题

    解决的方法很简单,只需要将Eclipse的编码标准设置为UTF-8即可 1.Window->Preferences->General->Workspace   面板Text file ...

  3. Hive之权限控制

    Hive之权限 一.库级的权限 -- 授予所有权限给某个用户 grant all on msta to user {userName}; -- 授权admin privilege权限 grant AD ...

  4. 跨平台客户端Blazor方案尝试

    一.方案选择 Electron/MAUI + Blazor(AntDesgin blazor) BlazorApp:Blazor Razor页面层,抽象独立层,被BlazorAppElectron/B ...

  5. SpringBoot(七) - Redis 缓存

    1.五大基本数据类型和操作 1.1 字符串-string 命令 说明 set key value 如果key还没有,那就可以添加,如果key已经存在了,那会覆盖原有key的值 get key 如果ke ...

  6. 15. MongoDB系列之选择片键

    1. 片键类型 1.1 升序片键 升序片键通常类似于date或ObjectId--随着时间稳步增长的字段. 这种模式通常会使MongoDB更难保持块的平衡,因为所有的块都是由一个分片创建的. 1.2 ...

  7. 频道插件如何对接圈子 齐博x1齐博x2齐博x3齐博x4齐博x5齐博x6齐博x7齐博x8齐博x9齐博x10

    圈子黄页里要显示对应频道的数据列表,一般没有特殊要求的话,不需要建立PHP文件, 只须要做好模板即可,比如 \template\index_style\default\qun\shop\index.h ...

  8. 44.drf缓存

    DRF原有缓存 Django缓存.配置:https://www.cnblogs.com/Mickey-7/p/15792083.html   Django为基于类的视图提供了一个 method_dec ...

  9. Spring Boot 应用的热部署配置

    前言 所谓热部署,简单来说,就是代码修改后不需重启项目就可自动加载出新的内容. 注意:热部署在 debug 调试模式下才生效! IDEA 配置 在 IDE(IDEA)中开启相关项目自动构建选项 开启编 ...

  10. JAVA代码审计之xss

    java_sec_code xss 补充和回忆一下一些开发基础 @RestController @RequestMapping(value = "/xss") public cla ...