JDK 17 正式發佈,Oracle 官宣免費提供!“新版任你發,我用JDK 8”或成歷史?

Oracle公司JDK 17正式發佈,JDK 17屬於長期支持(LTS)版本,也就是獲得8年的技術支持,自2021年9月至2029年9月截止。

JDK 17版本更新了很多比較實用的新特性,關於此版本的新特性,詳細介紹和實際開發中的應用將在後續篇幅,這裏就不在深入贅述了,對JDK 17新特性感興趣的朋友可以留意後續文章的更新。

特性介紹

JDK 17更新了包括14個特性,具體如下表所示:

Restore Always-Strict Floating-Point Semantics

恢復始終嚴格模式(Always-Strict)的浮點語義

EnhancedPseudo-Random Number Generators

增強型僞隨機數生成器

New macOS RenderingPipeline

新增macOS渲染管道

macOS/AArch64 Port

支持將JDK移植到macOS或AArch64

Deprecate the AppletAPI for Removal

棄用待移除的Applet API

注:JDK 9中的JEP 289先前已棄用Applet API,但並未將其刪除。

Strongly EncapsulateJDK Internals

強封裝JDK內部API

Pattern Matching forswitch (Preview)

switch模式匹配進入預覽(Preview)階段

Remove RMI Activation

移除RMI(遠程方法調用)激活機制

Sealed Classes

密封類

注:密封類是由JEP 360提出的,並在JDK 15中作爲預覽功能提供。它們由JEP 397再次提出並進行了改進,並作爲預覽功能在JDK 16中提供。該JEP建議在JDK17中完成密封類,與JDK 16沒有任何變化。

Remove theExperimental AOT and JIT Compiler

移除實驗性AOT和JIT編譯器

Deprecate theSecurity Manager for Removal

棄用待移除的安全管理器(Security Manager)

注:棄用安全管理器,在後續版本中移除。安全管理器可追溯到Java 1.0。多年來,它一直不是保護客戶端Java代碼的主要手段,也很少用於保護服務器端代碼。爲了推動Java向前發展,Oracle打算棄用安全管理器,以便與舊Applet API(JEP 398)一起刪除。

Foreign Function& Memory API (Incubator)

外部函數和內存API(孵化器)孵化階段

注:Java程序可以通過該API與Java運行時之外的代碼和數據進行互操作。通過有效調用外部函數(即JVM之外的代碼),以及安全地訪問外部內存(即不由JVM管理的內存),API使Java程序能夠調用本地庫和處理本地數據,而沒有JNI。

Vector API (SecondIncubator)

Vector API(第二孵化器)第二孵化階段

注:引入一個API來表達向量計算,這些計算在運行時可靠地編譯爲支持的CPU架構上的最佳向量指令,從而實現優於等效標量計算的性能。

Context-SpecificDeserialization Filters

上下文特定的反序列化過濾器

注:允許應用程序通過JVM範圍的過濾器工廠配置特定於上下文和動態選擇的反序列化過濾器,該工廠被調用以爲每個單獨的反序列化操作選擇一個過濾器。

Free Java License

根據Oracle官方發佈的最新Free Java License,Oracle JDK 可以免費用於生產環境。Free Java License 大致摘要:

1)Oracle JDK免費提供包括所有季度安全更新,含商業和生產用途。

2)新許可證屬於“Oracle 免費條款和條件”(NFTC)許可證。此Oracle JDK許可證允許所有用戶免費使用,甚至可以用於商業和生產用途。不收取費用的前提下,允許再分發。

3)開發人員和組織目前可輕鬆下載、使用、共享和重新分發Oracle JDK。

4)Oracle將從JDK 17開始提供這些免費版本和更新,並在下一個LTS版本發佈之後繼續提供整整一年。需要注意的是以前的版本不受此更改的影響。

5)Oracle將繼續按照自Java 9以來的相同版本和時間表提供GPL下的Oracle OpenJDK版本。

JDK17下載地址:https://jdk.java.net/17/

JDK17技術文檔:https://docs.oracle.com/en/java/javase/17/index.html

Spring支持

Spring官方曾宣佈Spring Framework 6.0和Spring Boot 3.0將基於JDK 17版本,預計2022年,下半年發佈Spring Framework 6.0正式候選(RC)版本。

作爲開發人員的你或者說你們公司,目前用的是JDK7還是JDK8呢?歡迎各位下方留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章