iPhone 13 發(fā)布時,Java 17 也悄悄發(fā)布了
在大家都在等 9 月 15 號凌晨一點 iphone 13 的發(fā)布會的時候,9 月 14 號,Java 17 發(fā)布了。
登陸 oracle 官方新聞站就可以看到官宣。

點進去,可以看出這一版的 JDK 是 LTS 版本,也就是長期支持版。

也就是在 2029 年 9 月之前為客戶提供安全(security)、性能(performace)和錯誤修復(bug-fix)更新。
接下來講了加強對用戶的 LTS 支持。

大致的意思就是,原來每個長期版本的時間間隔為三年,這次將會改為兩年。
我們看歷史的 oracle JDK 發(fā)布時間表。

而下一個 LTS 版本將是 Java 21,在 2023 年 9 月發(fā)布。
時間縮短為了兩年。
接下來,文中說加速 Java 在云中的使用。

具體是推出了一個 Oracle Java Management Service,是一款云原生基礎設施服務。

具體介紹可以看官方博客:
https://blogs.oracle.com/java/post/announcing-java-management-service
或者直接看它的 DOCS 手冊:
https://docs.oracle.com/en-us/iaas/jms/doc/getting-started-java-management-service.html
接下來就是大家通常關心的新特性了。
我先把英文版列出來。
Java Language Enhancement
Updates and Improvements to Libraries
New Platform Support
Removals and Deprecations
Future Proofing Java Programs
Previews and Incubators for Later JDK Releases
JEP 叫做 JDK Enhancement Proposals,翻譯過來是 JDK 改提案,也就是我們通常說的 JDK 新特性。
而查看這些新特性的官方說明的方式是。
https://openjdk.java.net/jeps/提案號
比如我們想看看這次的第一個新特性,JEP 409: Sealed Classes,叫做密封類,就訪問這里即可。
https://openjdk.java.net/jeps/409

如果你英文比較好,這絕對是最方便的方法,而且比任何其他解讀都更早、也更專業(yè)。
我們嘗試看下這個文檔。
想知道密封類這個東西是干嘛的,先掃一眼概述。

大意就是說,密封類可以對繼承或者實現(xiàn)他們的類或接口進行限制。也就是說,要想繼承一個 sealed class,必須被這個 sealed class 聲明了允許繼承才可以。
具體怎么限制呢?在下面的詳情小結展開了介紹。

它給我們舉了例子。
比如一個 Shape 類,只允許特定的類去繼承。
package com.example.geometry;
public abstract sealed class Shape
permits Circle, Rectangle, Square { ... }
你看,用 permits 關鍵字,配合 sealed 關鍵字,就把 Shape 這個類限制住了,只能由 Circle, Rectangle, Square 這些類繼承。
當然,這得是同包下的,如果是不同包下的,寫全路徑就好了。
package com.example.geometry;
public abstract sealed class Shape
permits com.example.polar.Circle,
com.example.quad.Rectangle,
com.example.quad.simple.Square { ... }
剩下的大家感興趣自己去研究下吧,因為我也看不懂了。
更氣的是,這篇文章到這里就結束了。
寫這類文章還是太嫩了,希望大家多多包涵。
不過不知道大家有沒有發(fā)現(xiàn),我在往某個方面做嘗試,包括之前的 SpringOne 大會,iPhone1 回顧,還有今天的 Java 17 發(fā)布。
就是技術類新聞的分享與解讀,說好聽點可以叫技術最前沿。
但有人說技術類新聞應該有好多人在寫了吧?不,現(xiàn)在的所謂技術新聞,大多數(shù)是互聯(lián)網(wǎng)新聞了,比如京東漲薪了、字節(jié)降薪了、阿里破冰了、取消 996 了等。
我想寫的是技術相關性更強一些的事,而不是泛互聯(lián)網(wǎng)圈的事。比如之前的 SpringOne 我就發(fā)現(xiàn)幾乎沒有人寫,但其實它在 Spring 官網(wǎng)已經(jīng)掛好幾天了,Spring 社區(qū)里算是個不小的事,非常多的技術人還是很關注且很期待的。
再比如這次的 Java 17,也幾乎很少有平臺來說這個事,也可能是被 iPhone 13 的風頭給蓋過了。
所以我希望在這方面做些努力,看多了,技術視野自然就廣闊些。
記得之前看過周志明老師的一次技術分享,主題是 Java 在云原生時代何去何從,周老師的知識面把我震住了,近期技術圈發(fā)生的事情張口就來,而且他也能用自己的技術深度與視野把他們很好地串聯(lián)起來。
話說回來,要想寫好這類文章,還是需要日積月累。
我覺得有三點很重要。
第一就是如何尋找一手新聞資料的信息來源。
這里我整理了一些能代表前沿技術動態(tài)的公司的新聞發(fā)布站。
Intel 中國新聞發(fā)布室:
https://newsroom.intel.cn/
AMD 新聞中心:
https://www.amd.com/zh-hans/corporate/newsroom
NVIDIA 新聞中心:
https://www.nvidia.cn/newsroom/
CNCF 新聞:
https://www.cncf.io/announcements/
Oracle 新聞:
https://www.oracle.com/news/
Apache 新聞:
http://www.apache.org/index.html#news
Adobe 新聞:
https://www.adobe.com/cn/about-adobe/newsroom.html
IEEE 新聞:
https://www.ieee.org/about/news/index.html?WT.mc_id=ab_lp_news
Spring 官網(wǎng):
https://spring.io/
Apple 新聞:
https://www.apple.com.cn/newsroom/
Docker 新聞:
https://www.docker.com/company/newsroom
openAI 新聞:
https://www.openai.com/newsroom/
如果大家有其他比較重點可以關注的信息源,一定要告訴我。
第二就是如何看懂他們,當然是學英語啦!
第三就是如何更好地解讀他們。
如果我能像寫破玩意這種文章一樣,給大家講解最前沿發(fā)生的事情,那我覺得真正做到了有價值的產(chǎn)出。
如何做到呢?提升技術深度,并且通過多看多寫,來擴大技術視野,相信會越來越好的!
