Menu
快讀
  • 旅遊
  • 生活
    • 美食
    • 寵物
    • 養生
    • 親子
  • 娛樂
    • 動漫
  • 時尚
  • 社會
  • 探索
  • 故事
  • 科技
  • 軍事
  • 国际
快讀

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

2020 年 1 月 25 日 码农翻身

從Java 9開始,Java版本的發布就讓人眼花缭亂了。

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

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

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

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

這種快速的發布有好處嗎?

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

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

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

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

這個調查顯示,使用Java 8的公司和程序員高達80%, 這是爲什麽呢?大家爲什麽不升級到Java 11呢?

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

在過去的十幾年中,Java相繼引入的泛型、注解、NIO、函數式編程等核心功能,極大地影響了應用程序開發的方式,你能想象現在的Java中沒有注解會是什麽樣子嗎?

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

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

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

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

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

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

相關文章:

  • 阿裏問題定位神器 Arthas 操作實踐,定位線上BUG,超給力
  • 正則表達式在Java中的使用
  • 程序員:單個TCP(Socket)連接,發送多個文件
  • SERANGOON寶藏美食Cafe大盤點!小衆Cafe愛好者的精致打卡指南
  • JDK8新特性你都用了嗎?
  • 面試清單(Java崗)Java+JVM+數據庫+算法+Spring+中間件+設計模式
科技

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

©2025 快讀 | 服務協議 | DMCA | 聯繫我們