Java 17 正式發佈,Oracle宣佈提供免費JDK

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 當地時間9月14日,Oracle發佈了Java 開發工具包,版本 17("},{"type":"link","attrs":{"href":"https:\/\/mail.openjdk.java.net\/pipermail\/jdk-dev\/2021-September\/006037.html","title":null,"type":null},"content":[{"type":"text","text":"JDK 17"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"),並將成爲大多數供應商的長期支持 (LTS) 版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"通常情況下,Java 版本每六個月更新一次,分別在 3 月和 9 月。根據 Oracle "},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/java\/technologies\/java-se-support-roadmap.html","title":null,"type":null},"content":[{"type":"text","text":"Java SE 支持生命週期"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",這些支持僅保持六個月,直到下一個版本出現,而 LTS 版本的支持時間爲八年。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JDK 17 通用版本是Java SE 17 平臺在GNU通用公共許可證(v2)下的實現,帶有 Classpath Exception。Oracle 表示將從Oracle JDK 17開始提供Oracle JDK 免費版本和更新,並在下一個 LTS 版本之後繼續提供整整一年。以前的版本不受此更改的影響。而在非開源許可下,開發者可以在"},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/index.html","title":null,"type":null},"content":[{"type":"text","text":" Oracle 技術網"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"找到來自 Oracle 的 JDK 17 商業版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"據官網介紹,新版本主要發生了以下"},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/java\/technologies\/javase\/17-relnote-issues.html#NewFeature","title":null,"type":null},"content":[{"type":"text","text":"變化"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 306:恢復始終嚴格的浮點語義"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 356:增強型僞隨機數發生器。爲僞隨機數生成器(PRNG)提供新的接口類型和實現,包括可跳轉的PRNG和附加類的可分割PRNG算法(LXM)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 382:新的 macOS 渲染管線。Swing API用於渲染的Java 2D API,現在可以使用新macOS的Apple Metal加速渲染API。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 391:macOS\/AArch64 端口。macOS 11.0 現在支持 AArch64 架構。該 JEP 在 JDK 中實現了對 macos-aarch64平臺的支持。添加的功能之一是支持 W^X(寫異或執行)內存。它僅在macos-aarch64 中啓用,在某些情況下可以擴展到其他平臺。JDK 既可以在 Intel 機器上交叉編譯,也可以在基於 Apple M1 的機器上編譯。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 398:棄用 Applet API ,並進行刪除。基本上無關緊要,因爲所有 Web 瀏覽器供應商都已取消了對 Java 瀏覽器插件的支持或宣佈了該類計劃。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 403:強封裝JDK內部。強封裝了 JDK 的所有內部元素,除了像sun.misc.Unsafe這樣的關鍵內部API。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 406:切換模式匹配(預覽)。使用 switch 表達式和語句的模式匹配以及對模式語言的擴展來增強 Java 編程語言。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 407:刪除 RMI 激活。RMI Activation 是 RMI 的一個過時部分,自 Java SE 8 以來一直是可選的。 RMI Activation 已被Java SE 15 中的JEP 385棄用,並被JEP 407從此版本中刪除。該rmid工具也已被刪除。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 409:密封類。密封類已添加到 Java 語言中。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 410:刪除實驗性 AOT 和 JIT 編譯器。HotSpot VM 中的 AOT Compiler 相關代碼已被刪除。使用JEP 295 定義的 HotSpot VM 選項會在 VM 初始化時產生“無法識別的 VM 選項”錯誤。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 411:棄用安全管理器,並進行刪除。安全管理器和與之相關的api已經棄用,並將在未來的版本中刪除。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 412:外部函數和內存 API(孵化器)。通過該 API ,Java程序可以在Java運行時之外與代碼和數據進行互操作。通過有效地調用外部函數(即JVM外的代碼),以及安全地訪問外部內存(即不由JVM管理的內存),API使Java程序能夠調用本地庫並處理本地數據,而不會有JNI的脆弱性和危險。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 414:Vector API(第二孵化器)"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 415:特定於上下文的反序列化過濾器。允許應用程序通過jvm範圍的過濾器工廠配置特定於上下文的和動態選擇的反序列化過濾器,調用該過濾器工廠可爲每個單獨的反序列化操作選擇過濾器。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"除此之外,新版本還有數百個較小的增強功能和近兩千個bug修復。開發者可通過以下鏈接下載或瞭解更多:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"立即下載:"},{"type":"link","attrs":{"href":"https:\/\/t.co\/ui83Aehxoq?amp=1","title":null,"type":null},"content":[{"type":"text","text":"https: \/\/social.ora.cl\/6013y4ya7"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"發行說明:"},{"type":"link","attrs":{"href":"https:\/\/t.co\/VKB0vfaPsP?amp=1","title":null,"type":null},"content":[{"type":"text","text":"https: \/\/social.ora.cl\/6019y4yxD"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"API Javadoc:"},{"type":"link","attrs":{"href":"https:\/\/t.co\/VHs6UWdka8?amp=1","title":null,"type":null},"content":[{"type":"text","text":"https: \/\/social.ora.cl\/6011y4yx1"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"文檔:"},{"type":"link","attrs":{"href":"https:\/\/docs.oracle.com\/en\/java\/javase\/17\/index.html","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/docs.oracle.com\/en\/java\/javase\/17\/index.html"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Oracle透露下一個LTS版本應該是Java 21,並在2023年9月可用,這將把正在進行的LTS發佈週期從3年改爲2年。Oracle 將至少在2029 年 9 月之前爲客戶提供 Java 17 的安全、性能和錯誤修復更新。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於遷移到Java 17的難度,JetBrains的Java開發者倡導者Dalia Abo Sheasha認爲最大的問題將是強封裝。“因爲之前我的建議是保持非法訪問標記,而強封裝意味着它不再存在。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"“JDK開發人員面臨的最大挑戰之一就是,雖然向Java添加許多特性是件好事,但他們必須以一種非常可控的方式來做,以確保向後兼容性不會從根本上受到影響。”Azul Systems 副首席技術官 Simon Ritter表示,Java比Kotlin等語言進化得慢的原因,很大程度上就是爲了確保不會被破壞。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章