Java语言核心技术

 

java开发用苹果笔记本 java可以用苹果电脑编程吗_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 点击左上角的苹果菜单,然后选择关于本机

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_02


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

java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_03

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

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_04

正是有这两种不同的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。点按“安装”,然后输入您的用户名和密码以允许继续安装。

 

java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_05

什么时候需要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 上运行。例如金山文档、恒星播放器

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_06


java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_07


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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_08


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

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_09


应用程序(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

 

java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_10

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_11

  1. 注册\登录Oracle账户
  2. 如果没有Oracle账账户,大家可以在注册页面 https://profile.oracle.com/myprofile/account/create-account.jspx 填写相应的信息注册账户
  3. java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_12


  4. 账户创建成功以后,在登录页面填写账户信息登录Oracle账户
  5. java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_13


  6. 登录成功之后浏览器会自动开始下载
  7. java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_14

  8. 下载成功
  9. 然后在访达的下载目录就可以看到jdk-8u351-macosx-x64.dmg文件
  10. java开发用苹果笔记本 java可以用苹果电脑编程吗_App_15

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

  1. 双击jdk-8u351-macosx-x64.dmg文件
  2. java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_16

  3. 双击JDK 8 Update 351.pkg
  4. java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_17

  5. 点击继续
  6. java开发用苹果笔记本 java可以用苹果电脑编程吗_App_18

  7. 点击安装
  8. java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_19

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_20

  1. 安装中

 

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_21

安装中


java开发用苹果笔记本 java可以用苹果电脑编程吗_App_22

 

  1. 安装成功
  2. 点击后续步骤跳转到Java8的官方文档 https://docs.oracle.com/javase/8/
  3. 点击关闭 完成安装
  4. java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_23

 

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_24

安装成功


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

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_25

 

  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

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_26

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_27

这样是不是就意味着不用配置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开发用苹果笔记本 java可以用苹果电脑编程吗_Java_28

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

  1. 启动终端
  2. Mac内置终端程序,你可以在启动台的其他中找到它
  3. java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_29

 


java开发用苹果笔记本 java可以用苹果电脑编程吗_App_30


内置的终端



 

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_31


java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_32

  1. 查看系统所使用的Shell类型
  2. 不同类型的Shell所使用的配置文件不同,例如zsh使用的.zshrc,而bash使用的.bash_profile
  3. 使用echo $SHELL 命令可以查看当前使用的Shell类型,这里默认使用的是zsh
  4. java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_33

  5. 如果想要使用bash,那么可以使用chsh -s /bin/bash命令切换到bash,不过切换以后需要重新开启新的窗口,然后使用echo $SHELL查看Shell类型
  6. java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_34

  7. 创建配置文件
    如果你是使用的bash ,那么在用户的家目录下使用touch .bash_profile 创建.bash_profile文件
    如果你是使用的zsh,那么在用户的家目录下使用touch .zshrc创建.zshrc文件
    Mac的家目录就是/Users/liuguanglei,其中liuguanglei表示用户名,每个系统的用户名可能不相同。打开终端以后默认的路径就是在家目录下

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_35

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_36

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

首先使用vim .zshrc 打开文件

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_37


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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_38


需要按i键进入编辑模式

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_39


然后添加如下配置


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


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

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_40

退出了编辑模式后

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_41

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_42

  1. 重新加载配置文件
  2. 在终端上输入source .zshrc让添加的配置生效
  3. java开发用苹果笔记本 java可以用苹果电脑编程吗_App_43

  4. 验证配置
  5. 在终端上输入echo $JAVA_HOME 命令看能否输出Java8家目录的路径/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
  6. java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_44


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


5.3.1 PATH环境变量的介绍

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_45


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

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_46


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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_47


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

  1. 启动终端
  2. Mac内置终端程序,你可以在启动台的其他中找到它
  3. java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_48

 


java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_49


内置的终端



 

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_50


java开发用苹果笔记本 java可以用苹果电脑编程吗_App_51

  1. 打开配置文件
  2. 之前在配置JAVA_HOME环境变量创建过.zshrc文件,因此使用vim .zshrc命令打开即可
  3. java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_52


  4. 打开文件后可以查看到Java8的JAVA_HOME环境变量配置
  5. java开发用苹果笔记本 java可以用苹果电脑编程吗_App_53

  6. 编辑配置文件
  7. vim打开文件后只能查看文件内容而不能编辑,因此按i键进入编辑模式
  8. java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_54

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


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


 


java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_55


配置Java8的PATH环境变量



 

  1. 保存配置并退出vim编辑器
  2. 文件编辑完成后按esc退出编辑模式
  3. java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_56

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_57

  1. 重新加载配置文件
  2. 在终端上输入source .zshrc让添加的配置生效
  3. java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_58

  4. 验证配置
  5. 在终端上输入echo $PATH命令查看系统PATH环境变量,确认是否已经添加Java8的PATH环境变量
  6. java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_59


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


 


java开发用苹果笔记本 java可以用苹果电脑编程吗_java开发用苹果笔记本_60


删除java8的三个目录



 

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_Java_61

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_App_62

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

java开发用苹果笔记本 java可以用苹果电脑编程吗_环境变量_63