jdk16是由甲骨文公司宣布推出的Java語言的軟件開發(fā)工具包,Java仍然是有史以來最成功的開發(fā)平臺(tái)之一,它基于不斷創(chuàng)新以滿足現(xiàn)代應(yīng)用程序開發(fā)人員不斷變化的需求,而在此工具包中它包含了該平臺(tái)的17項(xiàng)新增強(qiáng)功能,能將進(jìn)一步提高開發(fā)人員的生產(chǎn)力。該開發(fā)工具包 (JDK) 最終確定了 instanceof (JEP 394) 和Records (JEP 395) 的模式匹配,這是以前在 Java 14 中首次預(yù)覽的語言增強(qiáng)功能,不僅如此,開發(fā)人員還可以使用新的打包工具(JEP 392) 自行發(fā)布,其中包含了 Java 應(yīng)用程序,以及探索三個(gè)孵化功能,矢量 API (JEP 338)、外部鏈接器 API (JEP 389) 和外部內(nèi)存訪問 API (JEP 389),以及一項(xiàng)預(yù)覽功能,密封類 ( JEP 397)。
與上一版本相比,全新的jdk16功能更為強(qiáng)大,增加了多項(xiàng)新特性,比如提供了全新的jpackage工具,用于打包自包含的 Java 應(yīng)用程序;改進(jìn)內(nèi)存管理以提高性能,現(xiàn)在支持并發(fā)線程堆棧處理,可以將ZGC線程堆棧處理從安全點(diǎn)移動(dòng)到并發(fā)階段,從而消除了允許并發(fā)堆棧處理的最后一個(gè)重要瓶頸。還改進(jìn)網(wǎng)絡(luò)以提高開發(fā)人員的生產(chǎn)力和靈活性,現(xiàn)在可以向 java.nio.channels 包中的套接字通道和服務(wù)器套接字通道 API 添加了對(duì)主要 UNIX 平臺(tái)和 Windows 中通用的 UNIX 域套接字的所有功能的支持。另外jdk16還解決未來不兼容的代碼,以及支持將 JDK移植到 Windows/AArch64等等。
ps:本次小編帶來的是jdk16.0.2 64位官方版,該版本是甲骨文公司推出的最新版本,并且下文有其詳細(xì)的安裝教程和環(huán)境變量配置,有需要的小伙伴快來下載使用吧。
軟件特征
1、338:Vector API(孵化器)
2、347:啟用 C++14 語言功能
3、357:從 Mercurial 遷移到 Git
4、369:遷移到 GitHub
5、376:ZGC:并發(fā)線程堆棧處理
6、380:Unix 域套接字通道
7、386:Alpine Linux 端口
8、387:彈性元空間
9、388:Windows/AArch64 端口
10、389:外鏈 API(孵化器)
11、390:基于值的類的警告
12、392:打包工具
13、393:外內(nèi)存訪問API(第三孵化器)
14、394:instanceof 的模式匹配
15、395:記錄
16、396:默認(rèn)情況下強(qiáng)封裝JDK內(nèi)部
17、397:密封類(第二次預(yù)覽)
軟件亮點(diǎn)
一、語言增強(qiáng)首先在 JDK 14 中引入,在 JDK 16 中完成
1、JEP 394:instanceof 的模式匹配——通過對(duì) instanceof 運(yùn)算符的模式匹配來增強(qiáng) Java 編程語言。
2、JEP 395:Records——通過記錄增強(qiáng) Java 編程語言,記錄是充當(dāng)不可變數(shù)據(jù)的透明載體的類。記錄可以被認(rèn)為是名義元組。
二、提高開發(fā)人員生產(chǎn)力的新工具
JEP 392:打包工具——提供 jpackage 工具,用于打包自包含的 Java 應(yīng)用程序。
三、改進(jìn)內(nèi)存管理以提高性能
1、JEP 387:Elastic Metaspace – 更迅速地將未使用的 HotSpot 類元數(shù)據(jù)(即元空間)內(nèi)存返回給操作系統(tǒng),減少元空間占用空間,并簡(jiǎn)化元空間代碼以降低維護(hù)成本。
2、JEP 376:ZGC:并發(fā)線程堆棧處理——將 ZGC 線程堆棧處理從安全點(diǎn)移動(dòng)到并發(fā)階段。這項(xiàng)工作消除了允許并發(fā)堆棧處理的最后一個(gè)重要瓶頸。
四、改進(jìn)網(wǎng)絡(luò)以提高開發(fā)人員的生產(chǎn)力和靈活性
JEP 380:UNIX 域套接字通道- 向 java.nio.channels 包中的套接字通道和服務(wù)器套接字通道 API 添加了對(duì)在主要 UNIX 平臺(tái)和 Windows 中通用的 UNIX 域套接字的所有功能的支持。UNIX 域套接字用于同一主機(jī)上的進(jìn)程間通信 (IPC)。它們?cè)诖蠖鄶?shù)方面類似于 TCP/IP 套接字,只是它們由文件系統(tǒng)路徑名而不是 Internet 協(xié)議 (IP) 地址和端口號(hào)尋址。
五、解決未來不兼容的代碼
1、JEP 396:默認(rèn)強(qiáng)封裝 JDK 內(nèi)部——在 JDK 9 中,我們強(qiáng)封裝了新的內(nèi)部 API 元素,從而限制了對(duì)它們的訪問。然而,為了幫助遷移,JDK 9 故意選擇不在運(yùn)行時(shí)強(qiáng)封裝 JDK 8 中存在的包的內(nèi)容。 JDK 16 通過默認(rèn)封裝 JDK 的大多數(shù)內(nèi)部元素來收緊這一約束,除了關(guān)鍵的內(nèi)部 API例如 sun.misc.Unsafe。最終用戶仍然可以選擇自 JDK 9 以來一直默認(rèn)的寬松強(qiáng)封裝。這將鼓勵(lì)開發(fā)人員從使用內(nèi)部元素遷移到使用標(biāo)準(zhǔn) API,以便他們和他們的用戶都可以輕松升級(jí)到未來的 Java 版本。
2、JEP 390:基于值的類警告——將原始包裝類指定為基于值的,并棄用它們的構(gòu)造函數(shù)以進(jìn)行刪除,提示新的棄用警告。提供有關(guān)對(duì) Java 平臺(tái)中任何基于值的類的實(shí)例進(jìn)行同步的不當(dāng)嘗試的警告。
六、孵化和預(yù)覽功能
1、JEP 338:矢量 API(孵化器) ——提供孵化器模塊 jdk.incubator.vector 的初始迭代,以表達(dá)矢量計(jì)算,這些計(jì)算在運(yùn)行時(shí)可靠地編譯為支持的 CPU 架構(gòu)上的最佳矢量硬件指令。
2、JEP 389:外部鏈接器 API(孵化器) ——引入了一個(gè) API,它提供對(duì)原生代碼的靜態(tài)類型、純 Java 訪問。
3、JEP 393: Foreign-Memory Access API (Third Incubator) – 引入了一個(gè) API,允許 Java 程序安全有效地訪問 Java 堆之外的外部內(nèi)存。
4、JEP 397:密封類(第二次預(yù)覽) ——通過密封類和接口增強(qiáng) Java 編程語言。密封類和接口限制哪些其他類或接口可以擴(kuò)展或?qū)崿F(xiàn)它們。
七、OpenJDK 貢獻(xiàn)者的改進(jìn)
1、JEP 347:?jiǎn)⒂?C++14 語言特性(在 JDK 源代碼中) ——允許在 JDK C++ 源代碼中使用 C++14 語言特性,并給出關(guān)于哪些特性可以在 HotSpot 代碼中使用的具體指導(dǎo)。
2、JEP 357:從 Mercurial 遷移到 Git – 將 OpenJDK 社區(qū)的源代碼存儲(chǔ)庫從 Mercurial (hg) 遷移到 Git。
3、JEP 369:遷移到 GitHub – 在 GitHub 上托管 OpenJDK 社區(qū)的 Git 存儲(chǔ)庫。
八、新端口在更多平臺(tái)上提供對(duì) Java 的支持
1、JEP 386:Alpine Linux Port – 將 JDK 移植到 Alpine Linux,以及在 x64 和 AArch64 架構(gòu)上使用 musl 作為主要 C 庫的其他 Linux 發(fā)行版。
2、JEP 388:Windows/Aarch64 端口——將 JDK移植到 Windows/AArch64。
軟件刪除的功能和選項(xiàng)
1、刪除了具有 1024 位密鑰的根證書( JDK-8243559 )
安全庫/java.security
以下具有弱 1024 位 RSA 公鑰的根證書已從cacerts密鑰庫中刪除:
+ alias name "thawtepremiumserverca [jdk]"
Distinguished Name: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
+ alias name "verisignclass2g2ca [jdk]"
Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
+ alias name "verisignclass3ca [jdk]"
Distinguished Name: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
+ alias name "verisignclass3g2ca [jdk]"
Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
+ alias name "verisigntsaca [jdk]"
Distinguished Name: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA
2、刪除 java.awt.PeerFixer ( JDK-8253965 )
客戶端庫/java.awt
java.awt.PeerFixer此版本中已刪除非公共類。此類用于為 JDK 1.1.1 之前創(chuàng)建的 ScrollPane 對(duì)象提供反序列化支持。
3、刪除實(shí)驗(yàn)特性 AOT 和 Graal JIT ( JDK-8255616 )
熱點(diǎn)/編譯器
Java Ahead-of-Time 編譯實(shí)驗(yàn)工具 jaotc已被刪除。使用JEP295定義的 HotSpot VM 選項(xiàng)會(huì) 產(chǎn)生不支持的選項(xiàng)警告,否則將被忽略。
實(shí)驗(yàn)性的基于 Java 的 JIT 編譯器 Graal JEP317已被刪除。嘗試使用它會(huì)產(chǎn)生一個(gè) JVMCI 錯(cuò)誤:JVMCI compiler 'graal' not found。
4、不推薦使用的跟蹤標(biāo)志已過時(shí),必須替換為統(tǒng)一的日志等效項(xiàng)( JDK-8256718 )
熱點(diǎn)/運(yùn)行時(shí)
當(dāng)在 Java 9 中添加統(tǒng)一日志時(shí),許多跟蹤標(biāo)志被棄用并映射到它們的統(tǒng)一日志等價(jià)物。這些標(biāo)志現(xiàn)在已過時(shí),將不再自動(dòng)轉(zhuǎn)換以啟用統(tǒng)一日志記錄。要繼續(xù)獲得相同的日志輸出,您必須明確地將這些標(biāo)志的使用替換為它們的統(tǒng)一日志等效項(xiàng)。
過時(shí)的選項(xiàng)
-XX:+TraceClassLoading
-XX:+TraceClassUnloading
-XX:+跟蹤異常
統(tǒng)一日志替換
-Xlog:class+load=info
-Xlog:class+unload=info
-Xlog:異常=信息
5、去除舊橢圓曲線( JDK-8235710 )
安全庫/javax.crypto
SunEC 提供程序不再支持以下已過時(shí)或未使用現(xiàn)代公式和技術(shù)實(shí)現(xiàn)的橢圓曲線:
secp112r1, secp112r2, secp128r1, secp128r2, secp160k1, secp160r1, secp160r2, secp192k1, secp192r1, secp224k1, secp224r1, secp256k1, sect113r1, sect113r2, sect131r1, sect131r2, sect163k1, sect163r1, sect163r2, sect193r1, sect193r2, sect233k1, sect233r1, sect239k1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, X9.62 c2tnb191v1, X9.62 c2tnb191v2, X9.62 c2tnb191v3, X9.62 c2tnb239v1, X9.62 c2tnb239v2, X9.62 c2tnb239v3, X9.62 c2tnb359v1, X9.62 c2tnb431r1, X9.62 prime192v2, X9.62 prime192v3, X9.62 prime239v1, X9.62 prime239v2, X9.62 prime239v3, brainpoolP256r1 brainpoolP320r1, brainpoolP384r1, brainpoolP512r1
要繼續(xù)使用這些曲線中的任何一條,用戶必須找到第三方替代方案。
- jdk開發(fā)工具包
-
更多 (8個(gè)) >>jdk大全 JDK是java開發(fā)的必不可少的工具包,它包含了JAVA的運(yùn)行環(huán)境和JAVA工具。而且JDK包含了JRE(java運(yùn)行環(huán)境),同時(shí)還包含了編譯java源碼的編譯器,那么jdk哪個(gè)版本最好用?jdk更新版本的速度還是較快的,已經(jīng)已經(jīng)出來了JDK10了,但用JDK8和JDK9的人較多。小編整理出來jdk大全供大家下載!這里擁有多個(gè)版本的jdk可以選擇,希望對(duì)java程序員有所幫助!
-
-
java se development kit 12 157.01M
查看/簡(jiǎn)體中文v12.0.1 -
Java JDK 128.75M
查看/簡(jiǎn)體中文v6.0 -
jdk1.6 32位/64位官方版 128.75M
查看/簡(jiǎn)體中文附環(huán)境變量配置教程 -
jdk17官方版 159.72M
查看/簡(jiǎn)體中文附安裝教程 -
jdk16.0.2 64位官方版 149.05M
查看/簡(jiǎn)體中文 -
jdk15.0.1 64位官方版 158.16M
查看/簡(jiǎn)體中文
-
- 下載地址
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
熱門推薦
node.js安裝包 v22.14.028.04M / 簡(jiǎn)體中文
dotCover 2024官方版 v2024.3.564.81M / 多國語言
jdk1.6 32位/64位官方版 附環(huán)境變量配置教程128.75M / 簡(jiǎn)體中文
jdk17官方版 附安裝教程159.72M / 簡(jiǎn)體中文
python最新版本 v3.13.127.08M / 簡(jiǎn)體中文
微軟visual c++運(yùn)行庫合集包 v3.0.22.0317官方版85.82M / 簡(jiǎn)體中文
dwin dgus(開發(fā)配置工具) v5.04官方版6.87M / 簡(jiǎn)體中文
RegEx Tester(正則表達(dá)式調(diào)試工具) v3.2.0.0綠色版26K / 英文
Report Builder v3.0官方版32.16M / 簡(jiǎn)體中文
Convert.NET(代碼翻譯器) v8.4.6675.71官方版4.48M / 多國語言[中文]