Java 17 更快的 LTS 節(jié)奏
Java 17 更新了,作為一個 10 年的 Java 程序員,還是有億點點興奮的,Kotlin 的群里面也是各種討論 Java 的新特性。
我記得五六年前,談?wù)撈甬?dāng)時剛剛進入人們視野不久的 Java 8,大家還是一副“我們公司還在用 Java 6” 的表情,現(xiàn)在想想 RetroLambda 都已經(jīng)是很久遠(yuǎn)的事兒了:

現(xiàn)在的 Java 8 可能大概相當(dāng)于那時候的 Java 6,在使用上已經(jīng)非常普遍了,甚至已經(jīng)有一點兒過時:就連 Android 最近也開始從最新的 Android Studio 版本開始把 Java 11 作為默認(rèn)版本了。

現(xiàn)在 Java 17 的發(fā)布,讓 Java 11 成了 LTS 系列的次新版本,Java 8 離老破小的距離也越來越近了 —— 不僅如此,Java 官方還想要加快這個節(jié)奏,因為他們打算把 LTS 發(fā)布的節(jié)奏從三年縮短到兩年。這么看來,下一個 LTS 將會是在 2023 年 9 月發(fā)布的 Java 21。
想當(dāng)年,Java 的版本發(fā)布以前是何其佛系,版本號也是 1.x 這樣一路走來,從 1.0 (1996 年) 發(fā)布到 1.5(2004年) 就花了近 10 年,然后又花了差不多 10 年到了 1.8(2014 年)。這其中從 1.5 開始啟用了新的版本號命名方式,即 Java SE 5,Java SE 8 這樣的叫法。直到現(xiàn)在,2021 年,不管 Java 有沒有變化,Java 的版本號已經(jīng)發(fā)生了質(zhì)的飛躍。

從 2017 年 9 月發(fā)布 Java 9 開始,Java 進入每 6 個月一個版本的節(jié)奏。這對于開發(fā)者來講是好事,喜歡嘗鮮的開發(fā)者可以很快地在非 LTS 版本當(dāng)中體驗到 Java 的新特性。
做出這個改變的時間點是非常微妙的,因為 Kotlin 1.0 是 2016 年 2 月發(fā)布的,Google 在 2017 年 5 月官宣 Kotlin 為 Android 的一級開發(fā)語言(首選語言的宣布是在 2019 年的 IO 大會上)。
后來我們就看到,Java 越來越像 Kotlin 了,Java 10 有了 var:
var list = new ArrayList<String>(); // infers ArrayList<String> var stream = list.stream(); // infers Stream<String>
Java 13 有了多行字符串字面量:
String html = """
<HTML lang="en">
<body>
<p>Hello, world</p>
</body>
</html>
""";
Java 14 有了 switch 表達(dá)式(12 開始預(yù)覽):
int ndays = switch(month) {
case JAN, MAR, MAY, JUL, AUG, OCT, DEC -> 31;
case APR, JUN, SEP, NOV -> 30;
case FEB -> {
if (year % 400 == 0) yield 29;
else if (year % 100 == 0) yield 28;
else if (year % 4 == 0) yield 29;
else yield 28; }
};
Java 16 加入了類型判斷的模式匹配(Java 14 開始預(yù)覽),以下示例在效果上類似于 Kotlin 的智能類型轉(zhuǎn)換:
if (obj instanceof String s) {
System.out.println( s.length() );
}
還有數(shù)據(jù)類(Java 14 開始預(yù)覽):
record Point(int x, int y) { }
Point p = new Point(3,4);
System.out.println( p.x() );
可以說,Java 重新煥發(fā)了生機,喜歡 Java 的開發(fā)者們再也不必等待漫長的版本更新了。
到此這篇關(guān)于Java 17 更快的 LTS 節(jié)奏的文章就介紹到這了,更多相關(guān)Java 17中的LTS內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Java編譯時錯誤:A JNI error has occurred,ple
這篇文章主要介紹了解決Java編譯時錯誤:A JNI error has occurred,please check your installation and try again,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
java實用型-高并發(fā)下RestTemplate的正確使用說明
這篇文章主要介紹了java實用型-高并發(fā)下RestTemplate的正確使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
如何解決使用restTemplate進行feign調(diào)用new HttpEntity<>報錯問題
這篇文章主要介紹了如何解決使用restTemplate進行feign調(diào)用new HttpEntity<>報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
SpringBoot整合screw實現(xiàn)數(shù)據(jù)庫文檔自動生成的示例代碼
這篇文章主要介紹了SpringBoot整合screw實現(xiàn)數(shù)據(jù)庫文檔自動生成的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
java中把漢字轉(zhuǎn)換成簡拼的實現(xiàn)代碼
本篇文章是對在java中把漢字轉(zhuǎn)換成簡拼的實現(xiàn)方法進行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
java中Memcached的使用實例(包括與Spring整合)
這篇文章主要介紹了java中Memcached的使用實例(包括與Spring整合),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
Springboot通過Scheduled實現(xiàn)定時任務(wù)代碼
這篇文章主要介紹了Springboot通過Scheduled實現(xiàn)定時任務(wù)代碼,具有一定參考價值,需要的朋友可以了解下。2017-11-11

