1.背景
Oracle與9月中旬正式宣布推出Java17,正如官方所說:
- JDK17是最新的長期穩定支持的版本作為JDK11之后的下一個長期支持的版本;
- 也是Spring Framework6與SpringBoot 3在運行時至少需要運行的JDK版本環境;
- JDK17提供了數以千計的性能、穩定性和安全更新,以及14個JEP(JDK增強建議),用于幫助開發人員提高效率

下面來簡單地介紹一下其中主要的特性,
2.新特性說明
2.1.密封類轉正
密封類(Sealed Classes)是 Java 15 引入的, Java 17 正式轉正,
密封類可以對繼承或者實作它們的類進行限制,
比如抽象類 Person 只允許 Employee 和 Manager 繼承,
public abstract sealed class Person permits Employee, Manager { //... }
另外,任何擴展密封類的類本身都必須宣告為 sealed、non-sealed 或 final,
public final class Employee extends Person { } public non-sealed class Manager extends Person { }
2.2.JDK內部元素強封裝
很多程式員以損害安全性和可維護性的方式使用 JDK 的內部元素比如一些非public類、方法和欄位,
為了繼續提高 JDK 的安全性和可維護性,默認強封裝 JDK 的所有內部元素,從而限制對它們的訪問,除了關鍵的內部 API 如sun.misc.Unsafe,
2.3.macOS/AArch64 平臺支持
由于 JDK 在 macOS/AArch64 的廣泛需求,Oracle 宣布將 JDK 移植到 macOS/AArch64 平臺,增加了 Apple 去年發布的新 CPU 系列 (M1) 的支持,
2.4.標記洗掉Applet API
Applet API 提供了一種將 Java AWT/Swing 控制元件嵌入到瀏覽器網頁中的方法,不過,目前 Applet 已經被淘汰,大部分人應該和我一樣,壓根就沒有用過 Applet,
Java 9 的時候,Applet API 已經被標記為啟用,Java 17 的時候終于標記為洗掉了,
2.5.洗掉RMI Activation
RMI 即 Remote Method Invocation ,其為 Java 提供了遠程方法呼叫的能力,不過,比較雞肋,基本不會用到,RMI Activation 為激活分布式物件提供支持,不過,一般也不會用到,
Java 15 的時候, RMI Activation 已經被棄用,Java 17 的時候終于被洗掉了,
參考博文:
JavaGuide -- Java17來了!YYDS!
再見,Java8!Java17發布,堪稱史上最快的JDK
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/301657.html
標籤:其他
