自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java 14 都快來了,為什么還有這么多人固守Java 8?

開發(fā) 開發(fā)工具
從Java 9開始,Java版本的發(fā)布就讓人眼花繚亂了。每隔6個月,都會冒出一個新版本出來,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,Java 14就要來了。

[[311599]]

 從Java 9開始,Java版本的發(fā)布就讓人眼花繚亂了。

每隔6個月,都會冒出一個新版本出來,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,Java 14就要來了。

說實話,這種頻繁的發(fā)布有點兒讓人審美疲勞,每次我看到介紹Java新版本,新特性的文章也沒興趣點開看了。

在這么多的版本中,只有Java 8, Java 11 和未來的Java 17 是長期支持版本(LTS),Oracle會支持3年,其他的只會支持6個月,新版本一出,就放棄老版本的技術(shù)支持。

 

這種快速的發(fā)布有好處嗎?

有 ! 小步快跑一直是我們軟件開發(fā)的利器,采用迭代的方式,每次發(fā)布一部分功能,推向開發(fā)人員去驗證,典型的敏捷思路。

但是這種好處更有利于JDK的開發(fā)者,對使用Java的個人和公司來說,想要跟上每六個月就要升級的步伐,實在是太難了。JDK是個非常核心的基礎(chǔ)設(shè)施, 除了安全漏洞,誰沒事去升級生產(chǎn)環(huán)境的JDK啊?出了問題誰負責?

所以,按道理講大家都會去找那些LTS的版本來升級,例如Java 11, 但是事實證明大部分人還在固守Java 8 :

 

這個調(diào)查顯示,使用Java 8的公司和程序員高達80%, 這是為什么呢?大家為什么不升級到Java 11呢?

我個人覺得主要原因是對開發(fā)有利的重大特性升級很少,吸引力不夠。

在過去的十幾年中,Java相繼引入的泛型、注解、NIO、函數(shù)式編程等核心功能,極大地影響了應(yīng)用程序開發(fā)的方式,你能想象現(xiàn)在的Java中沒有注解會是什么樣子嗎?

這幾年的Java版本中,就缺乏這種重大功能的升級了,我把我有點印象的功能升級列一下:

注意黑體的這幾項, Java 9引入了模塊化系統(tǒng),這是個看起來很美的特性,可是對程序員來說,這是一個破壞性的更新,因為JDK做了模塊化,但是很多第三方庫沒有做模塊化, 如果想讓自己的項目也模塊化,很有可能是一次不斷填坑的經(jīng)歷,尤其在使用第三方庫的時候。

Java 11的ZGC是個有吸引力的特性,它的設(shè)計目標是:支持TB級內(nèi)存容量,GC暫停時間低(<10ms),對整個程序吞吐量的影響小于15%,確實挺讓人激動的!如果真的實現(xiàn)了,程序員就可以可勁兒造對象,而不用考慮GC了,可惜這仍然是個實驗性質(zhì)的版本。

至于局部變量類型推導(dǎo),也只是方便了變量的聲明而已。

一個JDK的版本如果想被廣泛采用,一定得能提升開發(fā)效率(如泛型、注解),帶來變革,這樣才有吸引力, 如果給程序員們帶來了麻煩, 大家就會用腳投票了。

【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權(quán)】

 

戳這里,看該作者更多好文

 

責任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2022-01-12 20:04:09

網(wǎng)絡(luò)故障斷網(wǎng)事件網(wǎng)絡(luò)安全

2017-03-27 11:29:33

微軟Windows XP安全

2017-06-16 16:16:36

庫存扣減查詢

2017-12-21 19:38:50

潤乾中間表

2022-07-26 23:43:29

編程語言開發(fā)Java

2021-05-31 22:26:20

5G技術(shù)通信

2020-07-02 14:12:52

C++語言編程

2013-01-15 09:41:45

編程語言

2021-08-19 06:53:18

開發(fā)語言Java

2021-01-14 05:08:44

編譯鏈接

2022-05-29 08:54:44

Edge瀏覽器

2013-01-24 09:44:44

數(shù)據(jù)庫

2023-11-13 08:49:54

2024-02-20 08:09:51

Java 8DateUtilsDate工具類

2016-10-11 14:19:07

2015-05-18 15:08:08

多種程序設(shè)計語言程序設(shè)計語言

2017-07-04 14:01:40

機房機柜

2024-05-13 16:22:25

固態(tài)硬盤接口硬盤

2023-05-31 07:57:12

筆記本電腦信譽度

2023-07-26 00:32:33

注解抽象spring
點贊
收藏

51CTO技術(shù)棧公眾號