Java 17是一款十分專(zhuān)業(yè)的編程工具,主要應(yīng)用于web網(wǎng)頁(yè)的開(kāi)發(fā)、Android的開(kāi)發(fā)、客戶端的開(kāi)發(fā)等等,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),Java基本等于了JDK。而在新的版本中,進(jìn)行了一些功能增強(qiáng),有需要的小伙伴們快來(lái)下載體驗(yàn)吧!
新功能
➜ JEP 409:密封類(lèi)
密封類(lèi)已添加到 Java 語(yǔ)言中。密封類(lèi)和接口限制哪些其他類(lèi)或接口可以擴(kuò)展或?qū)崿F(xiàn)它們。
密封類(lèi)由JEP 360提出,并在 JDK 15 中作為預(yù)覽功能提供。它們由JEP 397再次提出并進(jìn)行了改進(jìn),并作為預(yù)覽功能在 JDK 16 中提供,F(xiàn)在在 JDK 17 中,密封類(lèi)正在最終確定,與 JDK 16 沒(méi)有任何變化。
➜ JEP 406:開(kāi)關(guān)模式匹配(預(yù)覽)
使用 switch 表達(dá)式和語(yǔ)句的模式匹配以及對(duì)模式語(yǔ)言的擴(kuò)展來(lái)增強(qiáng) Java 編程語(yǔ)言。將模式匹配擴(kuò)展到 switch 允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有特定的操作,以便可以簡(jiǎn)潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢。
➜ JEP 382:新的 macOS 渲染管線
Swing API 用于渲染的 Java 2D API 現(xiàn)在可以使用適用于 macOS 的新 Apple Metal 加速渲染 API。
當(dāng)前默認(rèn)禁用此功能,因此渲染仍使用 OpenGL API,Apple 已棄用這些 API,但仍可用并受支持。
要啟用 Metal,應(yīng)用程序應(yīng)通過(guò)設(shè)置系統(tǒng)屬性來(lái)指定其用途:
-Dsun.java2d.metal=true
Metal 或 OpenGL 的使用對(duì)應(yīng)用程序是透明的,因?yàn)檫@是內(nèi)部實(shí)現(xiàn)的差異并且對(duì) Java API 沒(méi)有影響。金屬管道需要 macOS 10.14.x 或更高版本。將忽略在早期版本上設(shè)置它的嘗試。
➜ 用于訪問(wèn)大圖標(biāo)的新 API
javax.swing.filechooser.FileSystemView.getSystemIcon(File, int, int)JDK 17 中提供了一種新方法 ,可以在可能的情況下訪問(wèn)更高質(zhì)量的圖標(biāo)。完全針對(duì)Windows平臺(tái)實(shí)現(xiàn);但是,其他平臺(tái)上的結(jié)果可能會(huì)有所不同,稍后會(huì)得到增強(qiáng)。例如,通過(guò)使用以下代碼:
FileSystemView fsv = FileSystemView.getFileSystemView();
Icon icon = fsv.getSystemIcon(new File(“application.exe”), 64, 64);
JLabel label = new JLabel(icon);
用戶可以獲得更高質(zhì)量的“application.exe”文件圖標(biāo)。此圖標(biāo)適用于創(chuàng)建在 HighDPI 環(huán)境中可以更好縮放的標(biāo)簽。
➜ DatagramSocket 可以直接用于加入多播組
java.net.DatagramSocket此版本中已更新以添加對(duì)加入多播組的支持,F(xiàn)在定義joinGroup和leaveGroup方法加入和離開(kāi)組播組。java.net.DatagramSocket已更新的類(lèi)級(jí) API 文檔解釋了如何DatagramSocket配置普通的以及如何使用它來(lái)加入和離開(kāi)多播組。
此更改意味著DatagramSocketAPI 可用于多播應(yīng)用程序,而無(wú)需使用舊版java.net.MulticastSocketAPI。該MulticastSocketAPI的工作和以前一樣,雖然它的大多數(shù)方法已被棄用。
➜ JEP 356:增強(qiáng)型偽隨機(jī)數(shù)生成器
為偽隨機(jī)數(shù)生成器 (PRNG) 提供新的接口類(lèi)型和實(shí)現(xiàn),包括可跳轉(zhuǎn)的 PRNG 和額外的一類(lèi)可拆分 PRNG 算法 (LXM)。
➜ 理想圖形可視化器的現(xiàn)代化
Ideal Graph Visualizer (IGV) 是一種以可視化和交互方式探索 HotSpot VM C2 即時(shí) (JIT) 編譯器中使用的中間表示的工具,已經(jīng)現(xiàn)代化。增強(qiáng)功能包括:
支持在高達(dá) JDK 15(IGV 底層 NetBeans 平臺(tái)支持的最新版本)上運(yùn)行 IGV
更快的基于 Maven 的 IGV 構(gòu)建系統(tǒng)
穩(wěn)定塊形成、組移除和節(jié)點(diǎn)跟蹤
默認(rèn)過(guò)濾器中更直觀的著色和節(jié)點(diǎn)分類(lèi)
具有更自然默認(rèn)行為的排名快速節(jié)點(diǎn)搜索
現(xiàn)代化的 IGV與早期 JDK 版本生成的圖形部分兼容。它支持圖形加載和可視化等基本功能,但可能會(huì)影響節(jié)點(diǎn)聚類(lèi)和著色等輔助功能。
src/utils/IdealGraphVisualizer/README.md工具源目錄中的文件中提供了有關(guān)構(gòu)建和運(yùn)行 IGV 的詳細(xì)信息。
➜ 錯(cuò)誤消息中的源詳細(xì)信息
當(dāng) JavaDoc 報(bào)告輸入源文件中的問(wèn)題時(shí),它會(huì)顯示該問(wèn)題的源代碼行,以及包含^指向該行位置的插入符號(hào) ( ) 的行,其方式類(lèi)似于編譯器 ( javac) 診斷消息。
此外,日志和其他“信息”消息現(xiàn)在被寫(xiě)入標(biāo)準(zhǔn)錯(cuò)誤流,讓標(biāo)準(zhǔn)輸出流用于命令行選項(xiàng)特別請(qǐng)求的輸出,例如命令行幫助。
工具/javadoc(工具)
➜ 新的“新 API”頁(yè)面和改進(jìn)的“棄用”頁(yè)面
JavaDoc 現(xiàn)在可以生成一個(gè)頁(yè)面,總結(jié)最近 API 的變化。要包含的最新版本列表是使用--since命令行選項(xiàng)指定的。這些值用于查找@since要包含在新頁(yè)面上的具有匹配標(biāo)簽的聲明。該--since-label命令行選項(xiàng)提供了“新API”頁(yè)面的標(biāo)題文本使用。
在匯總棄用項(xiàng)目的頁(yè)面上,您可以查看按棄用項(xiàng)目所在版本分組的項(xiàng)目。
核心庫(kù)
➜ JEP 412:外部函數(shù)和內(nèi)存 API(孵化器)
介紹一個(gè) API,Java 程序可以通過(guò)該 API 與 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)用本地庫(kù)和處理本地?cái)?shù)據(jù),而沒(méi)有JNI。
➜ 控制臺(tái)字符集 API
java.io.Console已更新以定義返回Charset控制臺(tái)的新方法。返回的字符集可能與從Charset.defaultCharset()方法返回的字符集不同。例如,它返回IBM437whileCharset.defaultCharset()返回windows-1252Windows (en-US)。有關(guān)更多詳細(xì)信息,請(qǐng)參閱CSR。
➜ 用于反序列化的 JDK 飛行記錄器事件
現(xiàn)在可以使用 JDK Flight Recorder (JFR) 監(jiān)視對(duì)象的反序列化。當(dāng)啟用 JFR 并且 JFR 配置包括反序列化事件時(shí),每當(dāng)正在運(yùn)行的程序嘗試反序列化對(duì)象時(shí),JFR 都會(huì)發(fā)出一個(gè)事件。反序列化事件名為jfr.Deserialization,默認(rèn)情況下是禁用的。反序列化事件包含序列化過(guò)濾器機(jī)制使用的信息;請(qǐng)參閱ObjectInputFilter規(guī)范。此外,如果啟用了過(guò)濾器,則 JFR 事件指示過(guò)濾器是接受還是拒絕對(duì)象的反序列化。有關(guān)如何使用 JFR 反序列化事件的更多信息,請(qǐng)參閱文章監(jiān)控反序列化以提高應(yīng)用程序安全性。 有關(guān)使用和配置 JFR 的參考信息,請(qǐng)參閱JDK 任務(wù)控制文檔的JFR 運(yùn)行時(shí)指南和JFR 命令參考部分。
其它行業(yè)
其它行業(yè)
其它行業(yè)
其它行業(yè)
其它行業(yè)
其它行業(yè)
黑盒語(yǔ)音官方電腦版是一款非常好用的語(yǔ)音通話工具,占用空間小,運(yùn)作流暢。黑盒語(yǔ)音官方電腦版支持游戲內(nèi)的覆蓋和語(yǔ)音提示,玩家還可以創(chuàng)建專(zhuān)屬于自己的語(yǔ)音房間,隨時(shí)享受絲滑的組隊(duì)體驗(yàn),感興...
幕布是一款簡(jiǎn)單好用的思維導(dǎo)圖軟件,提供了記錄筆記、思維整理、任務(wù)管理、內(nèi)容創(chuàng)作等多項(xiàng)功能,幫助用戶有條理地組織內(nèi)容。幕布軟件是完全免費(fèi),且操作簡(jiǎn)單,即使沒(méi)有任何操作經(jīng)驗(yàn)的用戶也能快...
抖音直播伴侶電腦版是一款高效便捷的直播輔助工具,支持娛樂(lè)、游戲、電商等多種直播類(lèi)型,滿足不同主播的直播需求。抖音直播伴侶電腦版打造簡(jiǎn)潔明了的界面,操作便捷,一鍵點(diǎn)擊即可開(kāi)播,能夠清...
網(wǎng)易七魚(yú)集客戶服務(wù)、工單管理、智能機(jī)器人等功能于一體,可以幫助用戶高效處理客戶咨詢。網(wǎng)易七魚(yú)支持智能路由、自動(dòng)回復(fù)等功能,可以減輕人工壓力,提升服務(wù)效率與質(zhì)量,也支持多渠道接入,確...
京東咚咚商家版是專(zhuān)業(yè)好用的商家助手軟件,提供了在線客服、即時(shí)的消息提醒、訂單管理等多項(xiàng)功能,滿足商家不同的使用需求。京東咚咚商家版內(nèi)置多項(xiàng)實(shí)用功能,包含商家查詢訂單信息、售后服務(wù)單...
夸克網(wǎng)盤(pán)是夸克推出的云服務(wù)產(chǎn)品,提供了云存儲(chǔ)、高清看劇、文件在線解壓、PDF一鍵轉(zhuǎn)換等功能,操作輕松易上手,用戶可隨時(shí)輕松管理照片、文檔、手機(jī)資料等數(shù)據(jù)。夸克網(wǎng)盤(pán)的安全性高,有效保護(hù)...
發(fā)表評(píng)論
共0條
評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解
立即評(píng)論以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)