2019 年 Java 發展狀態報告

Java 按技術採用生命週期分爲:創新者早期採用者早期大衆晚期大衆

  • Java 13 處於創新者階段,Java 11 處於早期採用者階段,Java 8 處於晚期大衆階段。Java 11 將是未來 Java 用戶的最可能選項;

如果一個公司對大堆棧 GC 能力、延遲 SLA 等方面要求沒有那麼高,就沒有足夠動力去做相關升級,也未必有技術力量解決版本評估、兼容性修正等現實問題;
Java 新版本升級在中國的宣傳還是不夠,如果很多企業看不到技術升級的紅利,勢必也影響升級的積極性。

  • OpenJDK 處於創新者階段。OpenJDK 很可能被認爲是一種退⽽求其次的選擇。

雖然國內很多頭部廠商都在定製 OpenJDK,但是目前定製 OpenJDK 被採用範圍還都有限,主體使用還是 Oracle JDK(根據《JVM 生態系統報告 2018》調查顯示,70% 的開發者選擇使用 Oracle JDK,21% 的開發者選擇使用 OpenJDK);

  • 非 Hotspot JDK 生產實踐——Graal VM、IBM OpenJ9 處於早期採用者階段。

Graal VM 目前還尚不可知其兼容性情況以及明確的商業化條款;
Graal VM 的部分技術,例如,基於 Java 語言開發的 JIT 引擎,可能會成爲未來 OpenJDK 的基礎技術;

  • Lambda /Stream 處於晚期大衆階段、Vector API 處於創新者階段。

Lambda 語法以及 Stream API 也在開發人員的⽇常⼯作中⼴泛地運用,並且沒有看到語法回退的趨勢;
Vector API 等前沿特性,有能力的公司有限,抑制了對其有需求的公司或者場景。

  • Kotlin 處於早期大衆階段,Scala 和 Groovy 處於晚期大衆階段。

Groovy 已快成爲明日黃花,往昔的光芒逐漸地被後起之秀 Kotlin 替代;
Scala 在適合的領域做王者就夠了,主流不主流沒那麼重要;
Kotlin 被谷歌強推,谷歌支持的基本上都成功了,但是對 Kotlin 未來發展空間還是表示懷疑;

  • Spring Boot 和 Spring Cloud 進入晚期大衆階段;ServiceComb 處於早期採用者階段;Apache Dubbo 處於晚期大衆階段;Tars 處於早期大衆階段。

微服務技術處於早期大衆與晚期大衆之間,新的微服務開發框架需要技術突破和創新,不然已經難有一席之地;
技術多元化的今天,支持多語言的微服務開發框架是個必須品。

創新者 早期採用者 早期大衆 晚期大衆
Java 13 Java 11 Kotlin Java 8
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章