報告下載:新增199IT微信公眾號【i199it】,回覆關鍵詞【2022年Java發展趨勢和分析】即可
JRebel 是通過調研問卷的方式總結的報告,涉及了不同國家、不同崗位、不同公司規模、不同行業,相對來說,該調查報告是有一定參考意義的。
一、Java 語言及開發趨勢
1.Java8 的佔比還是比較高
從報告中可以看出,Java8 佔比 37%,Java11 佔比 29%,甚至有 12% 的被調查者使用了高於 Java12 的版本。
Java8 是 2014 年釋出,相較於之前版本,增加了 Lambda 表示式、Stream 流式處理等一種優秀的 API。至今已 8 年時間,Java 版本也是從 8 一直升到了 17。版本號一直在增加,卻沒有增加特別吸引人的語言特性。
2. 哪些因素是升級的動力?
主要的升級因素包括 LTS 版本(25%)、安全性(23%)、效能(20%),而新特性(18%)和隨大流(14%)的佔比低一些。
從這點我們也就知道為什麼 Java11 之後的版本佔比並不高了,隨著 Java17 的釋出,可能 Java8 和 Java11 的佔比會降低。安全性方面,除非是嚴重的漏洞,一般 Java 開發團隊會通過補丁的方式升級,不會影響大版本號佔比。
效能方面,Java 團隊一直在不斷優化,隨著 G1、ZGC、Shenandoah 等一眾優秀的 GC 被新增進來,這也成為大家從 Java8 升級的重要原因。
就功能特性而言,Java11 之後增加了 Record 型別、密封類、instanceof 模式匹配、Swtich 表示式和模式匹配等一些語法。這些新特性,也能夠提升升級到 Java17 的意願。
3. 升級 Java17 的意願還是比較強的
Java17 是 2021 年下半年釋出的 LTS 版本(長期支援版)。
從報告中可以看出來,有 37% 的人會在未來 6 個月內升級,有 25% 的人會在 6-12 個月內升級,不會升級的佔比僅佔 8%。
可見,有 62% 的人會在未來一年內升級到 Java17,大家的升級意願還是比較強的。
4.Java 應用架構趨勢
各種架構風格中,微服務架構僅佔 32%,單體架構佔比 22%,模組化單體架構佔比 13%,SOA 架構佔比 12%。
從結果來看,這個問卷的對架構風格的定義和分類比較細膩。
這裡不對架構風格做出評價,架構只有合適與否,沒有優劣之分。
二、Java 技術趨勢
1.Java 應用超過半數使用了容器部署
從問卷結果可以看到,Docker 使用率是 41%,Kubernetes 使用率是 26%,VMware 使用率是 16%,Vagrant 使用率是 3%,即有 86% 已經實現了虛擬化,其中 Docker、Kubernetes 佔比最高。
所以在 Java 升級版本特性中,實現了容器感知的能力,使 Java 服務容器化更容易一些。
2. 近半數服務端使用 Tomcat 容器
SpringBoot 是眾多微服務框架中的首選,SpringBoot 預設的應用容器是 Tomcat。加之 Tomcat 的開源方式,將近半數應用伺服器選擇 Tomcat 也是預料之中。
3.Maven 是主要的構建工具
Maven 和 Gradle 到底該用哪個?這個問題似乎爭論許久。從問卷結果看,Maven 佔有率是 68%,Gradle 佔有率是 23%,Maven 還是有絕對的優勢。
Gradle 採用了約定大於配置的方式,與 SpringBoot 的理念一致。但是從市場接受度和發展而言,並沒有形成替換 Maven 的風潮。Android 專案預設使用 Gradle,能夠看出 Google 對 Gradle 的推崇,也從側面印證 Gradle 的優秀。但是,Gradle 並沒有絕對優勢。
三、開發者生產力趨勢
1. 重新部署應用的時間
很多時候,我們可能只改動一行程式碼,然後驗證功能是不是正常,這個時候需要重新部署應用。JRebel 統計了重新部署需要花費的時間。
從結果上看,重新部署需要超過 3 分鐘時間的佔 50%,其中 21% 的比率需要 10 分鐘以上。
2. 如果節省重新部署的時間你會做什麼?
有 28% 會增加新功能;有 20% 會優化系統效能;有 19% 會完善測試覆蓋。這些都是正向的,大概率的是那些回答其他的:喝咖啡、喝啤酒、開趴、睡覺、釣魚……
技術不斷髮展,我們需要學習的東西越來越多,很多時候感覺學不動了。但既然選擇了這個行業,拿著高於其他行業的薪資,也承擔著各種風險,總歸是要有一些技能傍身,才不至於被歷史的車輪碾成粉末。基於 Java 語言進化而來的 “捷碼” 低程式碼平臺,是國內目前最新銳且優秀的全技術棧低碼 PAAS 開發工具之一,對無心坐下來深度、系統、長期研習 Java 開發技能的 IT 同行,捷碼提供了一個專業的、低碼化、迅捷開發的路徑,線上化的開發環境,更能支援多人協同的開發模式和跨平臺開發模式,可以幫助開發者們和軟體公司獲得卓越的軟體開發、交付能力。
報告下載:新增199IT微信公眾號【i199it】,回覆關鍵詞【2022年Java發展趨勢和分析】即可