最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mac安裝和配置Java JDK的完整教程

 更新時(shí)間:2026年04月03日 08:30:24   作者:悟空碼字  
文章詳細(xì)介紹了Java JDK的相關(guān)知識(shí),包括JDK的定義、核心組成、版本說(shuō)明、安裝方法、環(huán)境變量配置、常見問題及解決方案,并提供了在Mac上安裝和配置JDK的具體步驟,最后,還給出了后續(xù)學(xué)習(xí)建議,強(qiáng)調(diào)了配置完成后的開發(fā)步驟,需要的朋友可以參考下

一、Java JDK 詳解

1.1 什么是 JDK?

JDK(Java Development Kit,Java 開發(fā)工具包)是 Oracle 公司提供的用于 Java 程序開發(fā)的完整軟件包。它是 Java 開發(fā)者不可或缺的核心工具,包含了編寫、編譯、調(diào)試和運(yùn)行 Java 程序所需的一切組件。

1.2 JDK 的核心組成

JDK 主要由以下幾個(gè)關(guān)鍵部分組成:

1. JRE(Java Runtime Environment,Java 運(yùn)行時(shí)環(huán)境)

  • JRE 是 JDK 的子集,提供 Java 程序運(yùn)行所需的環(huán)境
  • 包含 JVM(Java Virtual Machine,Java 虛擬機(jī))和核心類庫(kù)
  • 如果只需要運(yùn)行 Java 程序而不進(jìn)行開發(fā),僅安裝 JRE 即可

2. 開發(fā)工具
JDK 提供了豐富的命令行工具,其中最常用的包括:

工具命令功能說(shuō)明
javacJava 編譯器,將 .java 源文件編譯為 .class 字節(jié)碼文件
javaJava 解釋器,啟動(dòng) JVM 運(yùn)行編譯后的字節(jié)碼文件
jarJava 歸檔工具,用于打包和管理 JAR 文件
javadocAPI 文檔生成器,從源代碼注釋中生成 HTML 格式的文檔
jdbJava 調(diào)試器,用于調(diào)試 Java 程序
javap反編譯工具,查看類文件的反匯編信息
jps查看當(dāng)前運(yùn)行的 Java 進(jìn)程信息
jstat監(jiān)控 JVM 的統(tǒng)計(jì)信息,如垃圾回收、類加載等

3. 核心類庫(kù)(Java API)
JDK 內(nèi)置了龐大的類庫(kù)集合,為開發(fā)者提供了豐富的現(xiàn)成功能:

  • java.lang:Java 語(yǔ)言的核心類,如 String、MathSystem
  • java.util:集合框架、日期時(shí)間、隨機(jī)數(shù)等工具類
  • java.io:文件輸入輸出操作
  • java.net:網(wǎng)絡(luò)編程支持
  • java.sql:數(shù)據(jù)庫(kù)訪問接口
  • javax.swing:圖形用戶界面組件

1.3 JDK 版本說(shuō)明

Java 的版本演進(jìn)經(jīng)歷了幾個(gè)重要階段:

  • Java 8 (LTS):目前應(yīng)用最廣泛的長(zhǎng)期支持版本,穩(wěn)定可靠
  • Java 11 (LTS):繼 Java 8 之后的長(zhǎng)期支持版本,引入了模塊化系統(tǒng)
  • Java 17 (LTS):最新的長(zhǎng)期支持版本,性能和安全均有顯著提升
  • Java 21 (LTS):最新 LTS,引入了虛擬線程等重大特性

LTS(Long-Term Support) 指長(zhǎng)期支持版本,Oracle 會(huì)提供至少 8 年的維護(hù)和更新,適合生產(chǎn)環(huán)境使用。

1.4 JDK 與 JRE 的關(guān)系圖

┌─────────────────────────────────────────────────────────┐
│                        JDK                               │
│  ┌───────────────────────────────────────────────────┐  │
│  │                      JRE                           │  │
│  │  ┌─────────────────────────────────────────────┐  │  │
│  │  │                    JVM                       │  │  │
│  │  └─────────────────────────────────────────────┘  │  │
│  │              核心類庫(kù) (rt.jar)                     │  │
│  └───────────────────────────────────────────────────┘  │
│                   開發(fā)工具 (javac, jar, javadoc...)     │
└─────────────────────────────────────────────────────────┘

二、Mac 安裝 Java JDK 詳細(xì)步驟

2.1 方法一:通過(guò) Homebrew 安裝(推薦)

Homebrew 是 Mac 上最流行的包管理器,可以簡(jiǎn)化安裝流程。

步驟 1:檢查 Homebrew 是否已安裝

brew --version

如果未安裝,執(zhí)行以下命令安裝 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

步驟 2:搜索可用的 Java 版本

# 搜索所有 Java 相關(guān)包
brew search jdk

# 或搜索特定版本
brew search openjdk

步驟 3:安裝指定版本的 JDK

# 安裝最新版本的 OpenJDK
brew install openjdk

# 安裝 Java 17 (LTS)
brew install openjdk@17

# 安裝 Java 11 (LTS)
brew install openjdk@11

# 安裝 Java 8
brew install openjdk@8

步驟 4:創(chuàng)建符號(hào)鏈接(如需要)

Homebrew 安裝的 OpenJDK 通常會(huì)自動(dòng)鏈接,但某些版本可能需要手動(dòng)處理:

# 對(duì)于 OpenJDK 17
sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

# 對(duì)于 OpenJDK 11
sudo ln -sfn $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

# 對(duì)于 OpenJDK 8
sudo ln -sfn $(brew --prefix)/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk

2.2 方法二:從 Oracle 官網(wǎng)下載安裝

步驟 1:訪問 Oracle 官網(wǎng)

訪問Oracle JDK 下載頁(yè)面

步驟 2:選擇適合的版本

  • 選擇 macOS 平臺(tái)
  • 選擇 .dmg 安裝包格式
  • 下載 ARM64(Apple Silicon)或 x64(Intel)版本

步驟 3:安裝 JDK

  1. 雙擊下載的 .dmg 文件
  2. 雙擊安裝包圖標(biāo)
  3. 按照安裝向?qū)瓿砂惭b
  4. 安裝完成后,JDK 默認(rèn)安裝在 /Library/Java/JavaVirtualMachines/ 目錄下

2.3 驗(yàn)證安裝

無(wú)論使用哪種安裝方式,安裝完成后都需要驗(yàn)證:

# 查看 Java 版本
java -version

# 查看 javac 編譯器版本
javac -version

# 查看 JDK 安裝路徑
/usr/libexec/java_home -V

正常輸出示例:

openjdk version "17.0.9" 2023-10-17 LTS
OpenJDK Runtime Environment (build 17.0.9+8-LTS)
OpenJDK 64-Bit Server VM (build 17.0.9+8-LTS, mixed mode, sharing)

三、環(huán)境變量配置

3.1 確定 Shell 類型

Mac 默認(rèn)使用 zsh(自 macOS Catalina 起),首先確認(rèn)當(dāng)前使用的 Shell:

echo $SHELL
  • 輸出 /bin/zsh → 使用 zsh,配置文件為 ~/.zshrc
  • 輸出 /bin/bash → 使用 bash,配置文件為 ~/.bash_profile

3.2 配置 JAVA_HOME

步驟 1:找到 JDK 安裝路徑

# 獲取 JDK 安裝路徑
/usr/libexec/java_home

# 如果需要指定版本
/usr/libexec/java_home -v 17

步驟 2:編輯 Shell 配置文件

# 如果是 zsh
vim ~/.zshrc

# 如果是 bash
vim ~/.bash_profile

步驟 3:添加環(huán)境變量配置

在文件末尾添加以下內(nèi)容:

# JAVA_HOME 配置
export JAVA_HOME=$(/usr/libexec/java_home)

# 如果安裝了多個(gè)版本,可以指定特定版本
# export JAVA_HOME=$(/usr/libexec/java_home -v 17)

# 將 JAVA_HOME 添加到 PATH
export PATH=$JAVA_HOME/bin:$PATH

步驟 4:使配置生效

# 根據(jù)實(shí)際 Shell 選擇
source ~/.zshrc   # 或 source ~/.bash_profile

步驟 5:驗(yàn)證環(huán)境變量

# 驗(yàn)證 JAVA_HOME 是否設(shè)置成功
echo $JAVA_HOME

# 驗(yàn)證 PATH 是否包含 Java
echo $PATH | grep java

# 再次驗(yàn)證 Java 命令
java -version
javac -version

3.3 多版本 Java 管理

如果需要同時(shí)使用多個(gè) Java 版本,可以配置版本切換功能:

方法一:使用 alias 快速切換

~/.zshrc 中添加:

# Java 版本切換函數(shù)
function setjava() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    export PATH=$JAVA_HOME/bin:$PATH
    echo "Switched to Java $1"
    java -version
}

# 設(shè)置快捷別名
alias java8='setjava 1.8'
alias java11='setjava 11'
alias java17='setjava 17'

使用方法:

# 切換到 Java 8
java8

# 切換到 Java 11
java11

# 切換到 Java 17
java17

方法二:使用 jEnv 管理

# 安裝 jEnv
brew install jenv

# 配置 jEnv
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc

# 添加已安裝的 Java 版本
jenv add /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home

# 設(shè)置全局版本
jenv global 17

# 設(shè)置當(dāng)前目錄版本
jenv local 11

四、驗(yàn)證與測(cè)試

4.1 編寫第一個(gè) Java 程序

創(chuàng)建 HelloWorld.java 文件:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java JDK on Mac!");
        System.out.println("Java Version: " + System.getProperty("java.version"));
        System.out.println("Java Home: " + System.getProperty("java.home"));
        System.out.println("OS Name: " + System.getProperty("os.name"));
    }
}

4.2 編譯與運(yùn)行

# 編譯 Java 源文件
javac HelloWorld.java

# 運(yùn)行編譯后的字節(jié)碼文件
java HelloWorld

預(yù)期輸出:

Hello, Java JDK on Mac!
Java Version: 17.0.9
Java Home: /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home
OS Name: Mac OS X

4.3 查看編譯后的文件

# 查看目錄內(nèi)容
ls -la

# 使用 javap 查看字節(jié)碼信息
javap -c HelloWorld

五、常見問題與解決方案

5.1 “command not found: java”

原因:環(huán)境變量未正確配置

解決方案

# 檢查 JDK 是否已安裝
ls /Library/Java/JavaVirtualMachines/

# 重新配置環(huán)境變量
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH

5.2 “Unable to locate a Java Runtime”

原因:系統(tǒng)未找到 Java 運(yùn)行時(shí)

解決方案

# 安裝 JDK
brew install openjdk@17

# 或創(chuàng)建符號(hào)鏈接
sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

5.3 版本沖突問題

原因:系統(tǒng)存在多個(gè) Java 版本

解決方案

# 查看所有已安裝版本
/usr/libexec/java_home -V

# 明確指定使用的版本
export JAVA_HOME=$(/usr/libexec/java_home -v 17)

六、詳細(xì)總結(jié)

6.1 安裝方式對(duì)比

安裝方式優(yōu)點(diǎn)缺點(diǎn)適用場(chǎng)景
Homebrew命令行操作,版本管理便捷,更新簡(jiǎn)單默認(rèn)安裝 OpenJDK(非 Oracle 官方)開發(fā)環(huán)境,習(xí)慣包管理的用戶
Oracle 官網(wǎng)官方原版,包含商業(yè)功能需要手動(dòng)下載,更新不便企業(yè)環(huán)境,需要官方支持
SDKMAN多版本管理強(qiáng)大,切換靈活需要額外安裝需要頻繁切換版本的開發(fā)者

6.2 關(guān)鍵要點(diǎn)回顧

  1. JDK 的核心價(jià)值:JDK 不僅是運(yùn)行 Java 程序的環(huán)境(JRE),更包含了完整的開發(fā)工具鏈(javac、jar、javadoc 等),是 Java 開發(fā)的基石。
  2. 環(huán)境配置的重要性:正確配置 JAVA_HOME 和 PATH 是保證 Java 開發(fā)工具正常運(yùn)行的前提,這些變量告訴操作系統(tǒng)去哪里尋找 Java 命令和庫(kù)文件。
  3. 版本選擇建議
    • 個(gè)人學(xué)習(xí):推薦 Java 17 或 Java 21(最新 LTS)
    • 企業(yè)開發(fā):Java 8 或 Java 11(生態(tài)成熟,兼容性好)
    • 嘗鮮體驗(yàn):Java 21+(新特性探索)
  4. 多版本管理:對(duì)于需要維護(hù)多個(gè)項(xiàng)目的開發(fā)者,掌握多版本管理能力至關(guān)重要,可以通過(guò) jEnv 或自定義函數(shù)實(shí)現(xiàn)快速切換。

6.3 后續(xù)學(xué)習(xí)建議

完成 JDK 安裝與環(huán)境配置后,可以繼續(xù)學(xué)習(xí):

  1. 構(gòu)建工具:Maven 或 Gradle,用于項(xiàng)目依賴管理和構(gòu)建
  2. IDE 集成:IntelliJ IDEA、Eclipse 或 VS Code 中配置 JDK
  3. 版本控制:Git 與 GitHub 的協(xié)作開發(fā)
  4. 框架學(xué)習(xí):Spring Boot 等主流框架的開發(fā)實(shí)踐

通過(guò)本教程,成功在 Mac 上完成了 Java JDK 的安裝和環(huán)境配置。這是 Java 開發(fā)之路的第一步,也是至關(guān)重要的一步。配置完成后,就可以開始編寫、編譯和運(yùn)行 Java 程序,開啟 Java 開發(fā)之旅了。

以上就是Mac安裝和配置Java JDK的完整教程的詳細(xì)內(nèi)容,更多關(guān)于Mac安裝Java JDK的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java實(shí)現(xiàn)UDP通信過(guò)程實(shí)例分析【服務(wù)器端與客戶端】

    Java實(shí)現(xiàn)UDP通信過(guò)程實(shí)例分析【服務(wù)器端與客戶端】

    這篇文章主要介紹了Java實(shí)現(xiàn)UDP通信過(guò)程,結(jié)合實(shí)例形式分析了java實(shí)現(xiàn)UDP服務(wù)器端與客戶端相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • SpringBoot攔截器(Interceptor)自定義實(shí)現(xiàn)登錄鑒權(quán)功能

    SpringBoot攔截器(Interceptor)自定義實(shí)現(xiàn)登錄鑒權(quán)功能

    在 Web 項(xiàng)目中,登錄鑒權(quán)是最核心的安全機(jī)制,SpringBoot 提供的?HandlerInterceptor 攔截器,是實(shí)現(xiàn)登錄校驗(yàn)、日志記錄、接口限流最優(yōu)雅的方案,本篇文章將介紹原理、自定義攔截器、登錄校驗(yàn)實(shí)戰(zhàn)、放行白名單、全局異常處理,需要的朋友可以參考下
    2026-03-03
  • Java中MapStruct使用方法解析

    Java中MapStruct使用方法解析

    這篇文章主要介紹了Java中MapStruct使用方法解析,接受請(qǐng)求參數(shù)都會(huì)使用一個(gè)vo類,這個(gè)vo類里封裝了所有需要接受的參數(shù),然后對(duì)參數(shù)進(jìn)行業(yè)務(wù)邏輯處理,處理完后會(huì)持久化處理,?使用MapStruct可以快速幫你解決轉(zhuǎn)換工作,需要的朋友可以參考下
    2023-10-10
  • Kotlin協(xié)程與并發(fā)深入全面講解

    Kotlin協(xié)程與并發(fā)深入全面講解

    Android官方對(duì)協(xié)程的定義-協(xié)程是一種并發(fā)設(shè)計(jì)模式,您可以在Android平臺(tái)上使用它來(lái)簡(jiǎn)化異步執(zhí)行的代碼。協(xié)程是在版本1.3中添加到Kotlin的,它基于來(lái)自其他語(yǔ)言的既定概念
    2022-11-11
  • 關(guān)于spring中不同包中類名相同報(bào)錯(cuò)問題的總結(jié)

    關(guān)于spring中不同包中類名相同報(bào)錯(cuò)問題的總結(jié)

    這篇文章主要介紹了關(guān)于spring中不同包中類名相同報(bào)錯(cuò)問題的總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • java啟動(dòng)線程的3種方式對(duì)比分析

    java啟動(dòng)線程的3種方式對(duì)比分析

    這篇文章主要為大家對(duì)比分析了java啟動(dòng)線程的3種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • springboot使用redis的詳細(xì)步驟

    springboot使用redis的詳細(xì)步驟

    SpringBoot對(duì)常用的數(shù)據(jù)庫(kù)支持外,對(duì)NoSQL?數(shù)據(jù)庫(kù)也進(jìn)行了封裝自動(dòng)化,下面這篇文章主要給大家介紹了關(guān)于springboot使用redis的詳細(xì)步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 關(guān)于Java實(shí)體類Serializable序列化接口的作用和必要性解析

    關(guān)于Java實(shí)體類Serializable序列化接口的作用和必要性解析

    序列化是將對(duì)象狀態(tài)轉(zhuǎn)化為可保持或者傳輸?shù)母袷竭^(guò)程,與序列化相反的是反序列化,完成序列化和反序列化,可以存儲(chǔ)或傳輸數(shù)據(jù),一般情況下,在定義實(shí)體類時(shí)會(huì)使用Serializable,需要的朋友可以參考下
    2023-05-05
  • IDEA版最新MyBatis程序配置教程詳解

    IDEA版最新MyBatis程序配置教程詳解

    這篇文章主要介紹了IDEA版最新MyBatis程序配置教程詳解,需要的朋友可以參考下
    2020-07-07
  • 解析Spring事件發(fā)布與監(jiān)聽機(jī)制

    解析Spring事件發(fā)布與監(jiān)聽機(jī)制

    本篇文章給大家介紹Spring事件發(fā)布與監(jiān)聽機(jī)制,通過(guò) ApplicationEvent 事件類和 ApplicationListener 監(jiān)聽器接口,可以實(shí)現(xiàn) ApplicationContext 事件發(fā)布與處理,需要的朋友參考下吧
    2021-06-06

最新評(píng)論

合江县| 新津县| 新营市| 班玛县| 通江县| 保康县| 凤城市| 明水县| 炉霍县| 江西省| 宽城| 额尔古纳市| 桃园县| 民和| 兴文县| 博野县| 林州市| 五台县| 西乌珠穆沁旗| 勃利县| 玛纳斯县| 清水河县| 岑巩县| 个旧市| 漳浦县| 涿鹿县| 肇东市| 依兰县| 景泰县| 上虞市| 上高县| 雷州市| 广汉市| 新邵县| 韶山市| 大悟县| 鹤壁市| 阿拉善右旗| 乌拉特后旗| 北宁市| 青海省|