jdk21下載、安裝(Windows、Linux、macOS)

Windows 系統

1. 下載安裝

訪問 Oracle 官方 JDK 下載頁面 或 OpenJDK 下載頁面,根據自己的系統選擇合適的 Windows 版本進行下載(通常選擇 .msi 安裝包)。

2. 配置環境變量

右鍵點擊 “此電腦”,選擇 “屬性”。

在左側導航欄中點擊 “高級系統設置”。

在彈出的 “系統屬性” 窗口中,點擊 “環境變量” 按鈕。

配置 JAVA_HOME 變量

  • 在 “系統變量” 區域,點擊 “新建” 按鈕。
  • 在 “變量名” 輸入框中輸入 JAVA_HOME,在 “變量值” 輸入框中輸入 JDK 21 的安裝路徑,例如 C:\Program Files\Java\jdk-21
  • 點擊 “確定” 保存。

配置 Path 變量

  • 在 “系統變量” 區域找到 Path 變量,選中它并點擊 “編輯” 按鈕。
  • 點擊 “新建”,添加以下兩個路徑:
    • %JAVA_HOME%\bin
    • %JAVA_HOME%\jre\bin(如果 JDK 21 包含 JRE 的話)
    • .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  • 點擊 “確定” 保存。

3. 驗證安裝

打開命令提示符(CMD),輸入以下命令:

java -version
javac -version

Linux 系統

1. 下載 JDK 21

  • 訪問 OpenJDK 下載頁面,下載適用于 Linux 的 .tar.gz 壓縮包。

2. 安裝 JDK 21

  • 打開終端,使用以下命令將下載的壓縮包解壓到指定目錄,例如 /usr/local/java
sudo mkdir /usr/local/java
sudo tar -zxvf jdk-21.*.tar.gz -C /usr/local/java

3. 配置環境變量

  • 打開終端,編輯 ~/.bashrc/etc/profile 文件(~/.bashrc 是用戶級配置,/etc/profile 是系統級配置):
sudo vim ~/.bashrc
  • 在文件末尾添加以下內容:
export JAVA_HOME=/usr/local/java/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 保存并退出文件,然后執行以下命令使配置生效:
source ~/.bashrc

4. 驗證安裝

java -version
javac -version

如果能夠正確顯示 JDK 21 的版本信息,則說明安裝和配置成功。

macOS 系統

1. 下載 JDK 21

  • 訪問 Oracle 官方 JDK 下載頁面 或 OpenJDK 下載頁面,下載適用于 macOS 的 .dmg 安裝包。

2. 安裝 JDK 21

  • 雙擊下載好的 .dmg 安裝包,按照安裝向導的提示進行操作。

3. 配置環境變量

  • 打開終端,編輯 ~/.bash_profile~/.zshrc 文件(如果使用的是 Zsh 終端):
vim ~/.zshrc
  • 在文件末尾添加以下內容:
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
export PATH=$JAVA_HOME/bin:$PATH
  • 保存并退出文件,然后執行以下命令使配置生效:
source ~/.zshrc

4. 驗證安裝

  • 在終端中輸入以下命令:
java -version
javac -version

如果能夠正確顯示 JDK 21 的版本信息,則說明安裝和配置成功。

多個 jdk 版本如何切換

windows 系統

1. 安裝多個 JDK 版本

首先,按照正常的安裝流程在系統中安裝多個不同版本的 JDK,例如 JDK 8 和 JDK 21,并記住它們各自的安裝路徑。

2. 配置環境變量

為每個 JDK 版本設置獨立的環境變量,以方便后續切換。

  • 右鍵點擊 “此電腦”,選擇 “屬性”。
  • 在左側導航欄中點擊 “高級系統設置”。
  • 在彈出的 “系統屬性” 窗口中,點擊 “環境變量” 按鈕。
  • 新建環境變量
    • 分別為不同版本的 JDK 創建對應的環境變量,例如 JDK8JDK21,變量值分別為 JDK 8 和 JDK 21 的安裝路徑。
    • JDK8C:\Program Files\Java\jdk1.8.0_xxx
    • JDK21C:\Program Files\Java\jdk-21
  • 修改 JAVA_HOME 變量
    JAVA_HOME 是用于指定當前使用的 JDK 版本的關鍵變量。當需要切換 JDK 版本時,只需修改 JAVA_HOME 的值。例如,要使用 JDK 8,將 JAVA_HOME 的值設置為 %JDK8%;要使用 JDK 21,將其值設置為 %JDK21%
  • 修改 Path 變量
    確保 Path 變量中引用的是 %JAVA_HOME%\bin,這樣每次修改 JAVA_HOME 后,Path 也會相應更新。

3. 驗證切換

每次修改 JAVA_HOME 后,打開新的命令提示符窗口,輸入以下命令驗證 JDK 版本是否切換成功

java -version

Linux 系統

1. 安裝多個 JDK 版本

使用包管理器或手動解壓安裝包的方式在系統中安裝多個不同版本的 JDK。

2. 配置環境變量

編輯 ~/.bashrc/etc/profile 文件,為每個 JDK 版本設置獨立的環境變量,并添加切換函數。

# 定義不同 JDK 版本的路徑
export JAVA_HOME_8=/usr/local/java/jdk1.8.0_xxx
export JAVA_HOME_21=/usr/local/java/jdk-21# 定義切換 JDK 版本的函數
switchjdk() {case $1 in8)export JAVA_HOME=$JAVA_HOME_8;;21)export JAVA_HOME=$JAVA_HOME_21;;*)echo "Usage: switchjdk 8|21";;esacexport PATH=$JAVA_HOME/bin:$PATH
}# 初始默認 JDK 版本
switchjdk 21

保存文件后,執行以下命令使配置生效:

source ~/.bashrc

3. 切換 JDK 版本

在終端中使用 switchjdk 函數切換 JDK 版本,例如要切換到 JDK 8,執行以下命令:

switchjdk 8

然后輸入以下命令驗證切換結果:

java -version

macOS 系統

1. 安裝多個 JDK 版本

通過 .dmg 安裝包或 Homebrew 等工具在系統中安裝多個不同版本的 JDK。

2. 配置環境變量

編輯 ~/.bash_profile~/.zshrc 文件,添加切換 JDK 版本的函數。

# 定義切換 JDK 版本的函數
switchjdk() {export JAVA_HOME=$(/usr/libexec/java_home -v $1)export PATH=$JAVA_HOME/bin:$PATH
}# 初始默認 JDK 版本
switchjdk 21

保存文件后,執行以下命令使配置生效:

source ~/.zshrc

3. 切換 JDK 版本

在終端中使用 switchjdk 函數切換 JDK 版本,例如要切換到 JDK 8,執行以下命令:

switchjdk 1.8

接著輸入以下命令驗證切換結果:

java -version

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70610.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70610.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2022年全國職業院校技能大賽網絡系統管理賽項模塊A:網絡構建(樣題6)-網絡部分解析-附詳細代碼

目錄 附錄1:拓撲圖 附錄2:地址規劃表 1.SW1 2.SW2 3.SW3 4.SW4 5.VSU 6.SW7 7.R1 8.R2 9.R3 10.AC1 11.AC2 12.EG1 13.EG2 附錄1:拓撲圖 附錄2:地址規劃表

java項目之網絡游戲交易系統源碼(ssm+mysql)

風定落花生,歌聲逐流水,大家好我是風歌,混跡在java圈的辛苦碼農。今天要和大家聊的是一款基于ssm的網絡游戲交易系統。項目源碼以及部署相關請聯系風歌,文末附上聯系信息 。 項目簡介: 本網絡游戲交易系統分為管理員…

高并發內存池的thread cache部分實現及測試

并發內存池的三個主要組成部分: 線程緩存(Thread Cache) 每個線程擁有獨立的線程緩存,用于處理小于256KB的內存分配。由于每個線程都有自己的緩存,線程在從線程緩存中分配內存時無需加鎖,這有效避免了競爭…

【紅隊利器】單文件一鍵結束火絨6.0

關于我們 4SecNet 團隊專注于網絡安全攻防研究,目前團隊成員分布在國內多家頂級安全廠商的核心部門,包括安全研究領域、攻防實驗室等,匯聚了行業內的頂尖技術力量。團隊在病毒木馬逆向分析、APT 追蹤、破解技術、漏洞分析、紅隊工具開發等多個…

索提諾比率(Sortino Ratio):更精準的風險調整收益指標(中英雙語)

索提諾比率(Sortino Ratio):更精準的風險調整收益指標 📉📊 📌 什么是索提諾比率? 在投資分析中,我們通常使用 夏普比率(Sharpe Ratio) 來衡量風險調整后的…

深度學習奠基作 AlexNet 論文閱讀筆記(2025.2.25)

文章目錄 訓練數據集數據預處理神經網絡模型模型訓練正則化技術模型性能其他補充 訓練數據集 模型主要使用2010年和2012年的 ImageNet 大規模視覺識別挑戰賽(ILSVRC)提供的 ImageNet 的子集進行訓練,這些子集包含120萬張圖像。最終&#xff…

Deepseek 實戰全攻略,領航科技應用的深度探索之旅

想玩轉 Deepseek?這攻略別錯過!先帶你了解它的基本原理,教你搭建運行環境。接著給出自然語言處理、智能客服等應用場景的實操方法與代碼。還分享模型微調、優化技巧,結合案例加深理解,讓你全面掌握,探索科技…

藍橋杯備賽-精衛填海-DP

精衛終于快把東海填平了!只剩下了最后的一小片區域了。同時,西山上的木石也已經不多了。精衛能把東海填平嗎? 事實上,東海未填平的區域還需要至少體積為 v 的木石才可以填平,而西山上的木石還剩下 n 塊,每塊…

2025面試Go真題第一場

前幾天參加了一場面試,GoLang 后端工程師,他們直接給了我 10 道題,我留了一個截圖。 在看答案之前,你可以先簡單做一下,下面我會對每個題目做一個說明。 文章目錄 1、golang map 是否并發安全?2、協程泄漏的原因可能是…

JavaScript 簡單類型與復雜類型-堆和棧

深入理解JavaScript中的簡單類型(基本數據類型)與復雜類型(引用數據類型)如何在內存中存儲對于編寫高效、無誤的代碼至關重要。本文將探討這兩種類型的差異,以及它們在內存中的存儲機制——棧(Stack&#x…

騰訊SQL面試題解析:如何找出連續5天漲幅超過5%的股票

騰訊SQL面試題解析:如何找出連續5天漲幅超過5%的股票 作者:某七年數據開發工程師 | 2025年02月23日 關鍵詞:SQL窗口函數、連續問題、股票分析、騰訊面試題 一、問題背景與難點拆解 在股票量化分析場景中,"連續N天滿足條件"是高頻面試題類型。本題要求在單表stoc…

圖像處理、數據挖掘、數據呈現

目錄 圖像處理方法 閾值分割 圖像處理方法 圖像平滑 圖像銳化 圖像增強 閾值分割 邊緣檢測 閾值分割 特征提取 提取邊界 區域提取 主成分壓縮 POI 多源數據 數據挖掘 多源數據提取 關聯度提取 位置集群, 新聞事件, 權限 個人喜好 歷史…

嵌入式項目:STM32刷卡指紋智能門禁系統

本文詳細介紹基于STM32的刷卡指紋智能門禁系統。 獲取資料/指導答疑/技術交流/選題/幫助,請點鏈接: https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系統功能 1.1 功能概述 本系統由STM32硬件端(下位機)…

計算機畢業設計 ——jspssm504springboot 職稱評審管理系統

作者:程序媛9688 開發技術:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。 🌟文末獲取源碼數據庫🌟 感興趣的可以先收藏起來,還有大家在畢設選題(免費咨詢指導選題)&#xf…

安裝VM和Centos

安裝VM 一、打開虛擬機 二、選擇典型 三、選擇光盤 四、指定虛擬機位置 五、設置磁盤大小并拆分為多個文件 六、完成 安裝Centos 一、上述過程完成后我們直接打開虛擬機 二、語言選擇中文 三,默認安裝位置并點擊完成 四、點擊開始安裝 五、點擊設置密碼 等待安裝…

【AI應用】數字人涉及的一些主要 AI 技術

【AI論文解讀】【AI知識點】【AI小項目】【AI戰略思考】【AI日記】【讀書與思考】【AI應用】 在 數字人搭建 過程中,涉及多個 AI 技術,包括 訓練微調、算法、圖像合成、聲音克隆,每個部分都決定了最終效果的真實度、交互流暢度和個性化能力。…

【嘗試使用python調用Seismic unix】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、代碼總結 前言 提示:這里可以添加本文要記錄的大概內容: 使用seismic unix嘗試建立界面,首先想到使用pyqt&#xff0c…

【安裝及調試舊版Chrome + 多版本環境測試全攻略】

👨💻 安裝及調試舊版Chrome 多版本環境測試全攻略 🌐 (新手友好版 | 覆蓋安裝/運行/調試全流程) 🕰? 【背景篇】為什么我們需要舊版瀏覽器測試? 🌍 🌐 瀏覽器世界的“…

2. EXCEL中函數和公式《AI賦能Excel》

歡迎來到滔滔講AI。今天我們來學習和討論下函數和公式是什么,以及它們之間的區別。 點擊圖片查看視頻 2、AI賦能EXCEL-函數和公式 一、什么是函數 首先,我們來了解一下函數。函數是Excel中預定義的計算工具,能夠幫助我們快速進行各種計算。 …

Python常見面試題的詳解16

1. 如何強行關閉客戶端和服務器之間的連接? 在網絡編程中,有時需要強行中斷客戶端和服務器之間的連接。對于基于 TCP 協議的連接,由于其面向連接的特性,需要采取特定的步驟來確保連接被正確關閉;而 UDP 是無連接協議&a…