號稱針對Java開發(fā)者的史上規(guī)模最大的調(diào)查報告—2018 JVM 生態(tài)報告已于上周三正式發(fā)布,超過10200名開發(fā)者參與調(diào)查,報告共分為五個部分:JDK、工具、平臺、應用、流程。
我們將挑選出大家比較關注的調(diào)查結果,如需查看調(diào)查報告全文,可以點擊文末的“閱讀原文”。
導讀:開始之前,本報告將會比較長,下述是報告主要亮點部分。
Chapter1 關于你的JDK
?Question?:(在生產(chǎn)環(huán)境)你主要使用哪個 Java 供應商的 JDK ?
10個開發(fā)者中,7個位使用Oracle JDK,2位使用OpenJDK,其余僅占1席。
?Question?:(在生產(chǎn)環(huán)境)你主要使用哪個?Java SE 版本?
79%的受訪者表示在生產(chǎn)環(huán)境中使用的是Java 8。
?Question?:你計劃如何跟進Java的新發(fā)布周期?
眾所周知,Oracle已將Java發(fā)布周期調(diào)整六個月(每年3 月份和 9 月份發(fā)布)。根據(jù)調(diào)查結果,僅8%受訪者愿意一直根據(jù)新Java版本,仍有將近1/3的受訪者表示還未考慮清楚如何應對Java的新發(fā)布周期。
Chapter2 關于你的工具
?Question?:你使用哪個 IDE進行Java開發(fā) ?
45%受訪者使用IntelliJ IDEA(32%使用付費版本),38%受訪者使用Eclipse IDE。
?Question?:你主要使用哪種構建工具?
Maven仍然以60%的比例占據(jù)絕對領導地位,在2016年RebelLabs的類似調(diào)查報告中,Maven和Gradle的使用比例分別是68%和16%,很顯然Gradle增長趨勢不明顯。
?Question?:你使用哪種代碼質量管理工具?
SonarQube、Findbugs和Checkstyle占據(jù)前三。
?Question?:你使用哪種CI工具?
Jenkins以57%的比例占據(jù)榜首,未使用任何CI工具的比例(22%)與使用其他工具比例相差無幾(21%)。
?Question?:你使用哪種代碼托管工具?
Github、Bitbucket和GitLab分列前三,這里不得不提一下,華為ServiceStage的應用開發(fā)流水線除了支持上述三種代碼倉庫,還支持DevCloud、Gitee。
?Question?:你使用哪種測試技術?
78%受訪者使用了JUnit,在mocking框架中Mockito已然脫穎而出,被45%受訪者使用。
Chapter3 關于你的平臺
?Question?:你是否使用云計算平臺?使用了哪個云平臺?
57%的受訪者表示使用了云平臺,另有43%表示未使用。很顯然,AWS仍然以63%的比例占據(jù)絕對領導地位。
?Question?:你使用了哪種云技術或技術手段?
容器技術以43%高居首位,虛機仍占據(jù)了33%的比例。
Chapter4 關于你的應用
?Question?:你使用了哪種Web框架?
Spring系列已經(jīng)主導了Java生態(tài)系統(tǒng),Spring Boot和Spring MVC分別為40%、36%。
?Question?:(在生產(chǎn)環(huán)境)你使用了哪種數(shù)據(jù)庫?
Oracle Database占據(jù)27%,MySQL和PostgreSQL緊隨其后,MongoDB排名最高的非關系型數(shù)據(jù)庫,5%。
?Question?:你(直接)依賴了多少開源組件?
除去23%的受訪者不清楚,剩余的超過95%受訪者在項目組使用了開源組件。
Chapter5 關于你的流程
?Question?:你的新版本的發(fā)布節(jié)奏是?
僅有7%的受訪者稱每天發(fā)布多次,其余大部分保持在每周或每兩周1-2次。
?Question?:你的一般從何處獲取Java相關資訊?
?Question?:你在何處進行你的開發(fā)工作?