最近看到JRebel發(fā)布了《2022年Java發(fā)展趨勢(shì)和分析》,于是借此分析一下Java行業(yè)的現(xiàn)狀,希望給大家一些參考。
JRebel 是通過調(diào)研問卷的方式總結(jié)的報(bào)告,涉及了不同國(guó)家、不同崗位、不同公司規(guī)模、不同行業(yè),相對(duì)來說,該調(diào)查報(bào)告是有一定參考意義的。
一、Java語(yǔ)言及開發(fā)趨勢(shì)
1.Java8 的占比還是比較高
從報(bào)告中可以看出,Java8 占比37%,Java11占比29%,甚至有12%的被調(diào)查者使用了高于Java12的版本。
Java8是2014年發(fā)布,相較于之前版本,增加了Lambda表達(dá)式、Stream流式處理等一種優(yōu)秀的API。至今已8年時(shí)間,Java版本也是從8一直升到了17。版本號(hào)一直在增加,卻沒有增加特別吸引人的語(yǔ)言特性。
2.哪些因素是升級(jí)的動(dòng)力?
主要的升級(jí)因素包括LTS版本(25%)、安全性(23%)、性能(20%),而新特性(18%)和隨大流(14%)的占比低一些。
從這點(diǎn)我們也就知道為什么Java11之后的版本占比并不高了,隨著Java17的發(fā)布,可能Java8和Java11的占比會(huì)降低。安全性方面,除非是嚴(yán)重的漏洞,一般Java開發(fā)團(tuán)隊(duì)會(huì)通過補(bǔ)丁的方式升級(jí),不會(huì)影響大版本號(hào)占比。
性能方面,Java團(tuán)隊(duì)一直在不斷優(yōu)化,隨著G1、ZGC、Shenandoah 等一眾優(yōu)秀的GC被添加進(jìn)來,這也成為大家從Java8升級(jí)的重要原因。
就功能特性而言,Java11之后增加了Record類型、密封類、instanceof模式匹配、Swtich表達(dá)式和模式匹配等一些語(yǔ)法。這些新特性,也能夠提升升級(jí)到Java17的意愿。
3.升級(jí)Java17的意愿還是比較強(qiáng)的
Java17 是 2021 年下半年發(fā)布的LTS版本(長(zhǎng)期支持版)。
從報(bào)告中可以看出來,有37%的人會(huì)在未來6個(gè)月內(nèi)升級(jí),有25%的人會(huì)在6-12個(gè)月內(nèi)升級(jí),不會(huì)升級(jí)的占比僅占8%。
可見,有62%的人會(huì)在未來一年內(nèi)升級(jí)到Java17,大家的升級(jí)意愿還是比較強(qiáng)的。
4.Java 應(yīng)用架構(gòu)趨勢(shì)
各種架構(gòu)風(fēng)格中,微服務(wù)架構(gòu)僅占32%,單體架構(gòu)占比22%,模塊化單體架構(gòu)占比13%,SOA架構(gòu)占比12%。
從結(jié)果來看,這個(gè)問卷的對(duì)架構(gòu)風(fēng)格的定義和分類比較細(xì)膩。
這里不對(duì)架構(gòu)風(fēng)格做出評(píng)價(jià),架構(gòu)只有合適與否,沒有優(yōu)劣之分。
二、Java技術(shù)趨勢(shì)
1.Java應(yīng)用超過半數(shù)使用了容器部署
從問卷結(jié)果可以看到,Docker使用率是41%,Kubernetes使用率是26%,VMware使用率是16%,Vagrant使用率是3%,即有86%已經(jīng)實(shí)現(xiàn)了虛擬化,其中Docker、Kubernetes占比最高。
所以在Java升級(jí)版本特性中,實(shí)現(xiàn)了容器感知的能力,使Java服務(wù)容器化更容易一些。
2.近半數(shù)服務(wù)端使用Tomcat容器
SpringBoot是眾多微服務(wù)框架中的首選,SpringBoot默認(rèn)的應(yīng)用容器是Tomcat。加之Tomcat的開源方式,將近半數(shù)應(yīng)用服務(wù)器選擇Tomcat也是預(yù)料之中。
3.Maven是主要的構(gòu)建工具
Maven和Gradle到底該用哪個(gè)?這個(gè)問題似乎爭(zhēng)論許久。從問卷結(jié)果看,Maven占有率是68%,Gradle占有率是23%,Maven還是有絕對(duì)的優(yōu)勢(shì)。
Gradle采用了約定大于配置的方式,與SpringBoot的理念一致。但是從市場(chǎng)接受度和發(fā)展而言,并沒有形成替換Maven的風(fēng)潮。Android項(xiàng)目默認(rèn)使用Gradle,能夠看出Google對(duì)Gradle的推崇,也從側(cè)面印證Gradle的優(yōu)秀。但是,Gradle并沒有絕對(duì)優(yōu)勢(shì)。
三、開發(fā)者生產(chǎn)力趨勢(shì)
1.重新部署應(yīng)用的時(shí)間
很多時(shí)候,我們可能只改動(dòng)一行代碼,然后驗(yàn)證功能是不是正常,這個(gè)時(shí)候需要重新部署應(yīng)用。JRebel統(tǒng)計(jì)了重新部署需要花費(fèi)的時(shí)間。
從結(jié)果上看,重新部署需要超過3分鐘時(shí)間的占50%,其中21%的比率需要10分鐘以上。
2.如果節(jié)省重新部署的時(shí)間你會(huì)做什么?
有28%會(huì)增加新功能;有20%會(huì)優(yōu)化系統(tǒng)性能;有19%會(huì)完善測(cè)試覆蓋。這些都是正向的,大概率的是那些回答其他的:喝咖啡、喝啤酒、開趴、睡覺、釣魚……
掃碼添加捷碼微信入群~已有6000+智慧城市/AloT/IT行業(yè)精英入群交流,入群即得《Java核心技術(shù)電子書》
智慧水務(wù)管理系統(tǒng)源碼獲取攻略:破解行業(yè)痛點(diǎn)的三大關(guān)鍵步驟 閱讀768次
遠(yuǎn)眺智慧工地信息化管理系統(tǒng),開啟建筑行業(yè)新時(shí)代! 閱讀773次
快速試用捷碼
點(diǎn)擊“立即申請(qǐng)”即可成為捷碼客戶,將享受捷碼終身技術(shù)咨詢服務(wù),和遠(yuǎn)程技術(shù)支持服務(wù)。