JDK15軟件特色
一、新功能
1、JEP 339 Edwards-Curve 數字簽名算法
此特征通過以下方式提高安全性和性能我mplementing使用Edwards-Curve 數字簽名算法(EdDSA)加密簽名如由RFC 8032。EdDSA 是一種現代橢圓曲線簽名方案,與 JDK 中現有的簽名方案相比有幾個優點。此 JEP 的主要目標是實現此方案,如 RFC 8032 中標準化的那樣。此新簽名方案不會取代 ECDSA。
2、JEP 371隱藏類
此功能有助于需要在運行時生成類的框架??蚣苌深愐詣討B擴展其行為,但希望限制對這些類的訪問。隱藏類很有用,因為它們只能通過反射訪問,而不能從普通字節碼訪問。此外,隱藏類可以獨立于其他類卸載,這可以減少框架的內存占用。
二、現已完成的預覽和實驗功能
1、JEP 377 ZGC:可擴展的低延遲 GC
ZGC被集成到JDK 11由JEP 333,通過降低以提高生產率的目標GC暫停時間,手柄堆從規模相對較小(幾百兆),以非常大(許多兆兆字節),以及打下利用彩色指針和負載屏障為未來 GC 功能和優化奠定基礎。在 JEP 377 中,ZGC 從實驗功能轉變為生產功能。
2、JEP 378文本塊
文本塊是由JEP 355在 2019 年提出的。文本塊是一種多行字符串文字,它避免了大多數轉義序列的需要,以可預測的方式自動格式化字符串,并在需要時讓開發人員控制格式。在 JEP 378 中,文本塊成為 Java 語言的永久特性。
3、JEP 379雪蘭多
Shenandoah 被JEP 189集成到 JDK 12 中。它被標記為實驗性以匹配其他新 GC 的狀態,特別是 Epsilon GC 和 ZGC。JEP 379將 Shenandoah 垃圾收集器從實驗性功能改為產品功能但不建議更改默認 GC,繼續保持 G1,也不建議更改 Shenandoah 開發流程,將繼續支持最新的JDK 和流行的 LTS/STS JDK。
三、孵化和預覽功能
1、JEP 360密封類 - 第一次預覽
此預覽功能通過使用密封類和接口增強 Java 編程來提高開發人員的生產力,這允許類或接口的作者控制負責實現它的代碼,提供比訪問修飾符更具聲明性的方式來限制使用超類并通過支持模式的詳盡分析來支持模式匹配的未來方向。
2、JEP 375模式匹配instanceof - 第二次預覽
這個預覽功能首先在JEP 305 中作為JDK 14 的一部分引入,它通過消除對通用樣板代碼的需要來提高開發人員的生產力,并且應該允許更簡潔的類型安全代碼。
3、JEP 384記錄 - 第二次預覽
Records通過為聲明充當不可變數據的透明載體的類提供緊湊的語法來提高開發人員的工作效率。記錄由JEP 359于 2019 年年中提出,并作為JDK 14 中的預覽功能提供。該 JEP 建議重新預覽 JDK 15 中的功能,既要結合基于反饋的改進,又要支持 Java 語言中的其他形式的本地類和接口。
4、JEP 383外部內存訪問 API - 第二個孵化器
外部內存訪問 API 是由JEP 370提出的,并于 2019 年末針對JDK 14作為孵化 API。該 JEP 建議結合基于反饋的改進并在 JDK 15 中重新孵化 API。此孵化功能定義了一個 API,以允許 Java 程序安全有效地訪問 Java 堆之外的外部內存。
JDK15功能介紹
JEP 339:EdDSA 數字簽名算法
JEP 360:密封類(預覽)
JEP 371:隱藏類
JEP 372:刪除 Nashorn JavaScript 引擎
JEP 373:重新實現 Legacy DatagramSocket API
JEP 374:重新實現 DatagramSocket API
JEP 375:實例模式匹配(第二次預覽)
JEP 377:ZGC:一個可擴展的低延遲垃圾收集器
JEP 378:文本塊
JEP 379:低暫停時間垃圾收集器
JEP 381:移除 Solaris 和 SPARC 端口
JEP 383:外部存儲器訪問 API(第二個內置程序)
JEP 384:Records(第二次預覽)
JDK15配置說明
1、在本站下載JAVA JDK 15。
2、把下載下來的exe進行安裝,跟著安裝向導安裝好軟件。
3、配置環境變量:
a)右擊我的電腦->屬性->高級系統設置->環境變量,進入環境變量設置界面。b)在系統變量里新建_HOME變量
_HOME:安裝路徑(Eg:D:Program Files1.8.0_65)
c)新建classpath變量,變量值為:.;%_HOME%lib;%_HOME%libtools.jar
(備注:加載類路徑,只有類在classpath中java命令才能識別,在路徑前加了個"."表示當前路徑)
d)在path變量(已存在不用新建)添加變量值:%_HOME%bin;%_HOME%jrebin(注意變量值之間用“;”隔開)
(備注:系統在任何路徑下都可以識別命令)
4、在cmd中輸入命令javac,如果能正常打印用法說明配置成功。
常見問題
1. 兼容性問題
庫和框架的兼容性:JDK 15 引入了一些新特性和對舊特性的改進,這可能導致一些老舊的庫或框架與其不完全兼容。在升級到 JDK 15 之前,需要評估這些依賴項是否支持新版本。
項目配置的更新:可能需要更新項目的構建配置文件(如 Maven 的 pom.xml 或 Gradle 的 build.gradle),以使用與 JDK 15 兼容的插件和依賴項版本。
2. 性能問題
垃圾收集器的選擇:JDK 15 引入了新的垃圾收集器(如 ZGC 和 Shenandoah),這些收集器可能在特定場景下提供更好的性能。然而,選擇哪個收集器取決于應用程序的具體需求和配置。
偏向鎖的廢棄:JDK 15 廢棄了偏向鎖,這可能會對一些依賴于偏向鎖優化的應用程序產生影響。不過,對于大多數現代應用程序來說,這種影響可能是微不足道的,因為現代應用程序往往使用更高效的并發數據結構。
JDK15更新日志
1:優化了性能
2:解決bug問題我們是認真的