當(dāng)前位置:首頁(yè) > 蘋果下載 > 編程開(kāi)發(fā) > JDK 21 for MacOS

JDK 21 for MacOS

版本:v21.0.1 大小:181.62M 語(yǔ)言:簡(jiǎn)體中文 類別:編程開(kāi)發(fā)
  • 類型:國(guó)外軟件
  • 授權(quán):免費(fèi)軟件
  • 更新:2023-11-01
  • 廠商:Oracle Corporation
  • 本地下載
8.9
0% 0%
3322特別說(shuō)明點(diǎn)擊左上角蘋果菜單,選擇“關(guān)于本機(jī)”,在概覽 頁(yè)面的處理器 一欄,查看芯片類型并選擇下載對(duì)應(yīng)版本!

情介紹

JDK 21 for MacOS是Java開(kāi)發(fā)工具包(JDK)的一個(gè)版本,專為Mac操作系統(tǒng)而設(shè)計(jì)。JDK 21是Java SE Development Kit(JDK)的一個(gè)長(zhǎng)期支持版本(LTS),它帶來(lái)了許多備受關(guān)注的新功能,如虛擬線程、記錄模式、switch模式匹配和分代ZGC等。此外,JDK 21還提供了一些預(yù)覽階段和孵化階段的功能,如外部函數(shù)和內(nèi)存API、作用域值和結(jié)構(gòu)化并發(fā)等。JDK 21為MacOS提供了針對(duì)不同架構(gòu)的安裝包,包括x64和AArch64(M1芯片)架構(gòu)。開(kāi)發(fā)者可以根據(jù)自己的Mac硬件架構(gòu)選擇合適的安裝包進(jìn)行安裝。 總之,它提供了許多新功能和改進(jìn),以提高在Mac平臺(tái)上開(kāi)發(fā)Java應(yīng)用程序的效率和性能。有需求的用戶還請(qǐng)下載支持。

JDK 21 for Mac有哪些新功能

1、虛擬線程(Virtual Threads):
JDK 21引入了虛擬線程,這是一種輕量級(jí)且高效的并發(fā)編程模型。虛擬線程可以提高整體吞吐量,并以更少的開(kāi)銷處理更多的任務(wù)。
2、記錄模式(Records):
JDK 21引入了記錄模式,它是一種用于解構(gòu)記錄值的增強(qiáng)Java編程語(yǔ)言特性。記錄模式可以實(shí)現(xiàn)功能強(qiáng)大、聲明性和可組合形式的數(shù)據(jù)導(dǎo)航和處理。
3、Switch模式匹配(Switch Pattern Matching):
JDK 21增強(qiáng)了Java編程語(yǔ)言的switch語(yǔ)句,使其支持模式匹配。這使得在switch語(yǔ)句中可以更方便地進(jìn)行模式匹配操作。
4、分代ZGC(Generational ZGC):
JDK 21引入了分代ZGC垃圾回收機(jī)制,它是一種高性能的垃圾回收器,可以提供更短的停頓時(shí)間和更高的吞吐量。

詳細(xì)安裝教程

1、雙擊運(yùn)行下載好的JDK安裝文件

2、彈出以下界面后,雙擊.pkg結(jié)尾的文件進(jìn)入安裝引導(dǎo)界面

3、 彈出安裝引導(dǎo)界面后點(diǎn)擊[繼續(xù)]按鈕來(lái)安裝JDK

4、彈出以下引導(dǎo)界面后點(diǎn)擊[安裝]按鈕

5、安裝中...,安裝成功

6、配置環(huán)境變量
打開(kāi)終端輸入:nano ~/.bash_profile 編輯bash_profile文件,輸入export PATH=$PATH:/usr/local/jdk-17/bin,然后按Ctrl+x,回車,保存文件并退出。

使用JDK 21 for Mac如何提高并發(fā)編程效率?

JDK 21 for MacOS的虛擬線程是一種輕量級(jí)線程,它可以顯著減少編寫、維護(hù)和調(diào)試高吞吐量并發(fā)應(yīng)用程序的工作量。虛擬線程是由JEP 425提出的預(yù)覽功能,并在JDK 21中首次發(fā)布,JDK 21中最終確定。
虛擬線程的設(shè)計(jì)目標(biāo)是提高并發(fā)編程的效率。它可以在Java應(yīng)用程序中實(shí)現(xiàn)更高的并發(fā)性能和吞吐量,同時(shí)減少線程創(chuàng)建和銷毀的開(kāi)銷。相比傳統(tǒng)的線程模型,虛擬線程具有更低的內(nèi)存消耗和更高的創(chuàng)建速度,這使得開(kāi)發(fā)者可以更輕松地創(chuàng)建大量的并發(fā)任務(wù)。
虛擬線程的另一個(gè)優(yōu)勢(shì)是它們可以與現(xiàn)有的Java線程模型無(wú)縫集成。開(kāi)發(fā)者可以使用現(xiàn)有的java.lang.Thread API來(lái)創(chuàng)建和管理虛擬線程,而無(wú)需進(jìn)行大量的代碼更改。這意味著開(kāi)發(fā)者可以在現(xiàn)有的Java應(yīng)用程序中輕松地采用虛擬線程,而無(wú)需重寫整個(gè)應(yīng)用程序。
虛擬線程還支持線程本地變量和線程中斷等常見(jiàn)的線程特性,這使得開(kāi)發(fā)者可以在虛擬線程中執(zhí)行任何Java代碼,并且可以方便地進(jìn)行錯(cuò)誤處理和取消操作。此外,虛擬線程還可以通過(guò)現(xiàn)有的JDK工具進(jìn)行故障排除、調(diào)試和分析,提供了更好的可觀察性和可維護(hù)性。
總之,JDK 21 for MacOS的虛擬線程通過(guò)減少編寫、維護(hù)和調(diào)試高吞吐量并發(fā)應(yīng)用程序的工作量,提高了并發(fā)編程的效率。它具有輕量級(jí)、高性能和與現(xiàn)有Java線程模型的無(wú)縫集成等優(yōu)勢(shì),使開(kāi)發(fā)者能夠更輕松地創(chuàng)建和管理大量的并發(fā)任務(wù)。虛擬線程還支持常見(jiàn)的線程特性,并提供了故障排除和調(diào)試工具,以提高應(yīng)用程序的可觀察性和可維護(hù)性。

JDK 21 for Mac更新內(nèi)容

1. 語(yǔ)言特點(diǎn)
? 記錄模式
使用記錄模式增強(qiáng) Java 編程語(yǔ)言以解構(gòu)記錄值。可以嵌套記錄模式和類型模式,以實(shí)現(xiàn)功能強(qiáng)大、聲明性和可組合形式的數(shù)據(jù)導(dǎo)航和處理。
? 開(kāi)關(guān)模式匹配
通過(guò)表達(dá)式和語(yǔ)句的模式匹配來(lái)增強(qiáng) Java 編程語(yǔ)言。擴(kuò)展模式匹配允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有一個(gè)特定的操作,以便可以簡(jiǎn)潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢。
1.1 語(yǔ)言功能預(yù)覽
? 字符串模板(預(yù)覽版)
使用字符串模板增強(qiáng) Java 編程語(yǔ)言。字符串模板通過(guò)將文字文本與嵌入式表達(dá)式和模板處理器耦合來(lái)補(bǔ)充 Java 現(xiàn)有的字符串文字和文本塊,以產(chǎn)生專門的結(jié)果。這是一個(gè)預(yù)覽語(yǔ)言功能和 API。
? 未命名模式和變量(預(yù)覽版)
使用未命名的模式(與記錄組件匹配而不說(shuō)明組件的名稱或類型)和未命名變量(可以初始化但不使用)來(lái)增強(qiáng) Java 語(yǔ)言。兩者都由下劃線字符 表示。這是一項(xiàng)預(yù)覽語(yǔ)言功能。
? 未命名類和實(shí)例主方法(預(yù)覽版)
改進(jìn) Java 語(yǔ)言,以便學(xué)生可以編寫他們的第一個(gè)程序,而無(wú)需了解為大型程序設(shè)計(jì)的語(yǔ)言功能。學(xué)生遠(yuǎn)非使用單獨(dú)的Java方言,而是可以為單類程序編寫簡(jiǎn)化的聲明,然后隨著技能的增長(zhǎng)無(wú)縫擴(kuò)展他們的程序以使用更高級(jí)的功能。這是一項(xiàng)預(yù)覽語(yǔ)言功能。
2. 庫(kù)改進(jìn)
? 虛擬線程
將虛擬線程引入 Java 平臺(tái)。虛擬線程是輕量級(jí)線程,可顯著減少編寫、維護(hù)和觀察高吞吐量并發(fā)應(yīng)用程序的工作量。
? 排序集合
引入新接口來(lái)表示具有定義的遭遇順序的集合。每個(gè)這樣的集合都有一個(gè)明確定義的第一個(gè)元素、第二個(gè)元素,依此類推,直到最后一個(gè)元素。它還提供統(tǒng)一的 API,用于訪問(wèn)其第一個(gè)和最后一個(gè)元素,以及以相反的順序處理其元素。
“生活只能倒著理解;但它必須向前生活。
— 克爾凱郭爾
? 密鑰封裝機(jī)制接口
介紹密鑰封裝機(jī)制 (KEM) 的 API,這是一種使用公鑰加密保護(hù)對(duì)稱密鑰的加密技術(shù)。
2.1 庫(kù)改進(jìn)預(yù)覽和孵化器
? 外部函數(shù)和內(nèi)存 API(第三預(yù)覽版)
引入一個(gè) API,通過(guò)該 API,Java 程序可以與 Java 運(yùn)行時(shí)之外的代碼和數(shù)據(jù)進(jìn)行互操作。通過(guò)有效地調(diào)用外部函數(shù)(即JVM外部的代碼)和安全地訪問(wèn)外部?jī)?nèi)存(即不由JVM管理的內(nèi)存),API使Java程序能夠調(diào)用本機(jī)庫(kù)并處理本機(jī)數(shù)據(jù),而不會(huì)像JNI那樣脆弱和危險(xiǎn)。這是一個(gè)預(yù)覽版 API。
? 結(jié)構(gòu)化并發(fā)(預(yù)覽版)
通過(guò)引入結(jié)構(gòu)化并發(fā) API 來(lái)簡(jiǎn)化并發(fā)編程。結(jié)構(gòu)化并發(fā)將在不同線程中運(yùn)行的相關(guān)任務(wù)組視為單個(gè)工作單元,從而簡(jiǎn)化錯(cuò)誤處理和取消,提高可靠性并增強(qiáng)可觀測(cè)性。這是一個(gè)預(yù)覽版 API。
? 作用域值(預(yù)覽版)
引入作用域值,這些值可以在不使用方法參數(shù)的情況下安全有效地共享到方法。它們優(yōu)先于線程局部變量,尤其是在使用大量虛擬線程時(shí)。這是一個(gè)預(yù)覽版 API。
實(shí)際上,作用域值是一個(gè)隱式方法參數(shù)。“好像”調(diào)用序列中的每個(gè)方法都有一個(gè)額外的、不可見(jiàn)的參數(shù)。沒(méi)有一種方法聲明此參數(shù),只有有權(quán)訪問(wèn)作用域值對(duì)象的方法才能訪問(wèn)其值(數(shù)據(jù))。作用域值使通過(guò)一系列中間方法將數(shù)據(jù)從調(diào)用方安全地傳遞到遠(yuǎn)方被調(diào)用方成為可能,這些中間方法不聲明數(shù)據(jù)的參數(shù),并且無(wú)法訪問(wèn)數(shù)據(jù)。
? 載體 API(第六孵化器)
引入一個(gè) API 來(lái)表達(dá)矢量計(jì)算,該計(jì)算在運(yùn)行時(shí)可靠地編譯為支持的 CPU 架構(gòu)上的最佳矢量指令,從而實(shí)現(xiàn)優(yōu)于等效標(biāo)量計(jì)算的性能。
3. 性能改進(jìn)
? 代代中關(guān)村
通過(guò)擴(kuò)展 Z 垃圾回收器 (ZGC) 來(lái)提高應(yīng)用程序性能,以便為年輕對(duì)象和舊對(duì)象維護(hù)不同的代。這將使ZGC能夠更頻繁地收集年輕物體 - 這些物體往往會(huì)英年早逝。
4. 管理權(quán)
? 準(zhǔn)備禁止代理的動(dòng)態(tài)加載
在將代理動(dòng)態(tài)加載到正在運(yùn)行的 JVM 中時(shí)發(fā)出警告。這些警告旨在讓用戶為將來(lái)的版本做好準(zhǔn)備,該版本默認(rèn)不允許動(dòng)態(tài)加載代理,以便在默認(rèn)情況下提高完整性。在啟動(dòng)時(shí)加載代理的功能功能工具不會(huì)導(dǎo)致在任何版本中發(fā)出警告。

載地址

  • Mac版
  • /電腦版

網(wǎng)友評(píng)論

0條評(píng)論
(您的評(píng)論需要經(jīng)過(guò)審核才能顯示)