網(wǎng)友評分: 7.2分
Java SE Development Kit是一款由甲骨文公司推出的Java開發(fā)工具包。它伴隨著數(shù)千個性能、穩(wěn)定性和安全性更新,包含Java的應(yīng)用程序,并探索三種孵化功能,即Vector API(JEP 338)、Foreign Linker API(JEP 389)和Foreign-Memory Access API(JEP 389),使其大幅度提升用戶工作效率。
Vector API (Incubator)
處于孵化階段的 Vector API,其中 JDK 將配備一個孵化器模塊jdk.incubator.vector,用于表達(dá)可在支持的 CPU 架構(gòu)上編譯為最佳矢量硬件指令的矢量計算,以實現(xiàn)優(yōu)于等效標(biāo)量計算的性能。
Enable C++14 Language Features
啟用 C++14 語言特性,支持在 JDK C++ 源代碼中使用 C++14 語言特性。
Migrate from Mercurial to Git
OpenJDK 源代碼庫從 Mercurial 遷移到 Git。
Migrate to GitHub
OpenJDK 源代碼庫遷移到 GitHub,此變化是基于 OpenJDK 源代碼庫從 Mercurial 遷移到 Git。
ZGC: Concurrent Thread-Stack Processing
將 ZGC 線程堆棧處理從安全點移動到并發(fā)階段。此計劃的目標(biāo)包括從 ZGC 安全點中刪除線程堆棧處理。
Unix-Domain Socket Channels
為java.nio.channels包中的 socket channel 和 server-socket channel API 添加 Unix-domain (AF_UNIX) 支持。
Alpine Linux Port
針對 x64 以及 AArch64 架構(gòu),將 JDK 移植到 Alpine Linux 以及其他使用 musl 作為主要 C 語言庫的 Linux 發(fā)行版上。
Elastic Metaspace
彈性元空間 (Elastic Metaspace) 能力,它可以將未使用的 HotSpot VM 類元數(shù)據(jù)(元空間)內(nèi)存更迅速地返回給操作系統(tǒng),從而減少元空間的占用空間并簡化元空間代碼,以及降低維護(hù)成本。
Windows/AArch64 Port
將 JDK 移植到 Windows/AArch64 平臺。
Foreign Linker API (Incubator)
處于孵化階段的 Foreign Linker API(外部鏈接器 API),該 API 用于對本地代碼進(jìn)行靜態(tài)類型訪問。
Warnings for Value-Based Classes
對基于值的類 (Value-Based Classes) 進(jìn)行警告。在 Java 平臺中對于任何基于值的類實例進(jìn)行同步的錯誤嘗試,會予以警告。
Packaging Tool
提供用于打包獨(dú)立 Java 應(yīng)用程序的 jpackage 工具。
Foreign-Memory Access API (Third Incubator)
處于孵化器第三階段的 Foreign-Memory Access API,該 API 允許 Java 應(yīng)用程序安全有效地訪問 Java 堆之外的外部內(nèi)存。
Pattern Matching for instanceof
為 instanceof 操作符提供模式匹配。模式匹配使程序中的通用邏輯(即從對象中有條件地提取組件)得以更簡潔、更安全地表達(dá)。
Records
Records 提供了一種緊湊的語法來聲明類,以幫助開發(fā)者寫出更簡潔的代碼,這些類是淺層不可變數(shù)據(jù)(shallowly immutable data)的透明擁有者。該特性主要用在特定領(lǐng)域的類,這些類主要用于保存數(shù)據(jù),不提供領(lǐng)域行為。
Strongly Encapsulate JDK Internals by Default
除了sun.misc.Unsafe等關(guān)鍵的內(nèi)部 API 外,默認(rèn)對 JDK 內(nèi)部進(jìn)行強(qiáng)封裝,用戶也可以選擇自 JDK 9 以來默認(rèn)的寬松強(qiáng)封裝。
Sealed Classes (Second Preview)
Sealed class & interface(密封類和接口)可以限制哪些類和接口可以繼承或?qū)崿F(xiàn)它們。
語言增強(qiáng)功能首次在JDK 14中引入,在JDK 16中完成
JEP 394:instanceof的模式匹配–通過為instanceof運(yùn)算符進(jìn)行模式匹配來增強(qiáng)Java編程語言。
JEP 395:記錄–通過記錄增強(qiáng)Java編程語言,記錄是充當(dāng)不變數(shù)據(jù)透明載體的類。記錄可以被視為名義元組。
提高開發(fā)人員生產(chǎn)力的新工具
JEP 392:打包工具–提供jpackage工具,用于打包自包含的Java應(yīng)用程序。
改進(jìn)的內(nèi)存管理以提高性能
JEP 387:彈性元空間–更快地將未使用的HotSpot類元數(shù)據(jù)(即,元空間)內(nèi)存返回給操作系統(tǒng),減少元空間的占用空間,并簡化元空間代碼,以降低維護(hù)成本。
JEP 376:ZGC:并行線程堆棧處理–將ZGC線程堆棧處理從安全點移至并發(fā)階段。這項工作消除了允許并發(fā)堆棧處理的最后一個顯著瓶頸。
改進(jìn)的網(wǎng)絡(luò)以提高開發(fā)人員的生產(chǎn)力和靈活性
JEP 380:UNIX域套接字通道–將對主要UNIX平臺和Windows通用的UNIX域套接字的所有功能的支持添加到j(luò)ava.nio.channels包中的套接字通道和服務(wù)器套接字通道API。UNIX域套接字用于同一主機(jī)上的進(jìn)程間通信(IPC)。它們在大多數(shù)方面與TCP / IP套接字類似,不同之處在于它們是通過文件系統(tǒng)路徑名而不是Internet協(xié)議(IP)地址和端口號來尋址的。
解決未來不兼容的代碼
JEP 396:默認(rèn)情況下強(qiáng)烈封裝JDK內(nèi)部–在JDK 9中,我們強(qiáng)烈封裝了新的內(nèi)部API元素,從而限制了對它們的訪問。但是,作為遷移的輔助手段,JDK 9故意選擇在運(yùn)行時不強(qiáng)烈封裝JDK 8中存在的軟件包的內(nèi)容。JDK16默認(rèn)情況下封裝了JDK的大多數(shù)內(nèi)部元素(關(guān)鍵內(nèi)部API除外),從而加強(qiáng)了此約束。例如sun.misc.Unsafe。最終用戶仍然可以選擇自JDK 9以來默認(rèn)使用的寬松的強(qiáng)封裝。這將鼓勵開發(fā)人員從使用內(nèi)部元素遷移到使用標(biāo)準(zhǔn)API,以便他們和他們的用戶都可以毫不費(fèi)力地升級到將來的Java版本。
JEP 390:基于值的類的警告–將原始包裝器類指定為基于值的類,并棄用其構(gòu)造函數(shù)以進(jìn)行刪除,從而提示新的棄用警告。提供有關(guān)在Java平臺中不正確嘗試在任何基于值的類的實例上進(jìn)行同步的警告。
孵化和預(yù)覽功能
JEP 338:矢量API(孵化器) –提供孵化器模塊jdk.incubator.vector的初始迭代,以表達(dá)可在運(yùn)行時可靠地編譯為支持的CPU架構(gòu)上的最佳矢量硬件指令的矢量計算。
JEP 389:外部鏈接程序API(孵化器) –引入了API,該API提供了對本地代碼的靜態(tài)類型的純Java訪問。
JEP 393:外部存儲器訪問API(第三孵化器) –引入了API,以允許Java程序安全有效地訪問Java堆之外的外部存儲器。
JEP 397:密封類(第二預(yù)覽) –通過密封類和接口增強(qiáng)了Java編程語言。密封的類和接口限制可以擴(kuò)展或?qū)崿F(xiàn)它們的其他類或接口。
OpenJDK貢獻(xiàn)者的改進(jìn)
JEP 347:啟用C ++ 14語言功能(在JDK源代碼中) –允許在JDK C ++源代碼中使用C ++ 14語言功能,并提供有關(guān)在HotSpot代碼中可以使用哪些功能的特定指南。
JEP 357:從Mercurial遷移到Git –將OpenJDK社區(qū)的源代碼存儲庫從Mercurial(hg)遷移到Git。
JEP 369:遷移到GitHub –在GitHub上托管OpenJDK社區(qū)的Git存儲庫。
新端口在更多平臺上提供對Java的支持
JEP 386:Alpine Linux端口–在x64和AArch64體系結(jié)構(gòu)上,將JDK移植到Alpine Linux以及使用musl作為其主要C庫的其他Linux發(fā)行版。
JEP 388:Windows / Aarch64端口–將JDK移植到Windows / AArch64。
不斷使Java變得更好
基于不斷的創(chuàng)新,Java仍然是最成功的開發(fā)平臺之一,可以滿足現(xiàn)代應(yīng)用程序開發(fā)人員不斷發(fā)展的需求。為了使Oracle Java SE訂閱對客戶更具價值,Oracle添加了GraalVM Enterprise作為應(yīng)享權(quán)利。GraalVM可以幫助提高應(yīng)用程序的性能并減少資源消耗,尤其是在微服務(wù)和云原生架構(gòu)中。通過利用Oracle Java SE訂閱來管理Java資產(chǎn)的組織不僅受益于Oracle的最新增強(qiáng)功能和對Java專家的直接訪問,而且與其他方法相比可節(jié)省大量成本。
“沒有每隔三到四年就對Java的新事物產(chǎn)生興趣,這種節(jié)奏使我成為充滿激情的開發(fā)人員,老師和培訓(xùn)師,這很活躍,”巴黎索邦大學(xué)北部的JoséPaumard助理教授和巴黎Java用戶聯(lián)合組織者說。 Group。“我迫切希望使用Records來提高數(shù)據(jù)處理代碼的性能和可讀性,并且能夠?qū)⑵溆米黝A(yù)覽功能之后,現(xiàn)在可以在此最新版本中使用它。”
開發(fā)人員可以了解有關(guān)Java 16的更多信息,并在3月23日,25日和30日的Oracle Developer Live:Java創(chuàng)新上獲得動手經(jīng)驗。
如果在學(xué)習(xí)或從事Java開發(fā)、編譯java程序,那么安裝JDK
如果僅需運(yùn)行java程序,只需要Java運(yùn)行庫,那么安裝JRE
Java Development Kit(簡稱JDK)= Java開發(fā)套件,Java開發(fā)工具包,面向Java語言開發(fā)者。
Java Runtime Environment(簡稱JRE)= Java運(yùn)行庫,Java運(yùn)行環(huán)境,面向Java程序用戶們。
JDK:Java核心,含Java運(yùn)行環(huán)境(JRE)、編譯器(javac.exe)、開發(fā)工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和Java工具類庫(如tools.jar)源代碼等java語言編譯所需的工具包。
JRE:Java語言開發(fā)的程序運(yùn)行所需要的運(yùn)行環(huán)境,包括JVM標(biāo)準(zhǔn)實現(xiàn)(java.exe等)及 Java核心類庫(rt.jar等),它不包含開發(fā)工具(編譯器、調(diào)試器等)
關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 m.daaijiaoyu.cn.All rights reserved.
浙ICP備06019006號-1 浙公網(wǎng)安備33038102330474號