最近看到JRebel發布了《2022年Java發展趨勢和分析》,于是借此分析一下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%會完善測試覆蓋。這些都是正向的,大概率的是那些回答其他的:喝咖啡、喝啤酒、開趴、睡覺、釣魚……
掃碼添加捷碼微信入群~已有6000+智慧城市/AloT/IT行業精英入群交流,入群即得《Java核心技術電子書》
智慧水務管理系統源碼獲取攻略:破解行業痛點的三大關鍵步驟 閱讀768次
遠眺智慧工地信息化管理系統,開啟建筑行業新時代! 閱讀773次
GIS賦能低空經濟,激發新興行業背潛在巨大價值! 閱讀1111次
建筑智能化系統包含哪些功能?燃氣行業數字化開發詳解! 閱讀946次
點擊“立即申請”即可成為捷碼客戶,將享受捷碼終身技術咨詢服務,和遠程技術支持服務。