很多未解之謎終于有答案了——2018年JVM生態系統報告出爐
在Java開發者中,一直存在著很多鄙視鏈。如:
IntelliJ → Eclipse → NetBeans
Unix → Linux → Mac OS→ Windows → DOS
Emacs → Vim → Sublime → Word → Power Point
這諸多鄙視鏈中一直存在著很大的爭議
也正是存在諸多爭議,導致很多開發者更加迷茫
到底選擇IntelliJ還是Eclipse?
Java 11 出來了,我要不要升級?
聽說SSH過時了?那Hibernate還要不要學了?
Git和SVN,Maven和Gradle,到底如何選?
我今年30歲了,還要繼續做開發嗎?
筆者無法給出明確的答案,只能給你一些建議。
近日,SNYC出爐了一份2018年JVM生態系統報告
涉及到了很多一直困擾廣大Javaer的問題
讓我們一起來看一下
全世界的廣大開發者是如何解決這些世紀難題的?
生產環境中主要使用哪個廠商提供的JDK
很多廠商都提供了自己的JDK實現,到底哪個廠商提供的JDK更受開發者青睞呢,調查發現,Oracke JDK以70%的絕對優勢占據了主導地位。
生產環境中主要使用哪個版本的Java SE
目前,Java SE 官方版本已經更新到了 Java 11,但是,光大開發者主要使用的版本是哪個呢?
調查結果顯示,80%左右的用戶使用的Java SE 8。
到底如何選擇Java版本?
有新的版本JDK出來了,要不要升級這件事或許這份報告中可以有個答案。關于如何選擇Java版本上,最多的人選擇使用LTS(長期支持版本)版本。目前***的LTS版本分別是Java 11 和Java 8。
日常開發中,主要使用哪個IDE
這個問題一直是一個未解之謎,Eclipse和IntelliJ IDEA之爭由來已久,一直沒有定論。
今年調查報告顯示,45%的用戶選擇IntelliJ IDEA,其中小部分用戶使用的是免費的社區版,大部分用戶使用付費的專業版。那么,還在使用Eclipse的你要不要"棄暗投明"呢?
主要是用哪個構建工具
相比之下,Maven還是占據著主導地位,超過半數用戶仍然傾向于Maven。
主要使用哪個靜態代碼掃描工具

靜態代碼掃描工具的選擇,前三名分別是Sonar 、FindBugs和Checkstyle。這三種工具均提供IDE插件,還沒使用的小伙伴可以考慮用起來了。
主要使用哪個持續集成工具
持續集成方面,超過半數的開發者使用Jenkins,這個結果并不出乎意料。
主要使用哪個代碼托管工具
目前Git+SVN已經占據了總數的90%,其中大部分開發者***Git,已經***于SVN了。
主要使用哪種單元測試框架
目前市面上單元測試相關的工具有很多,其中***的還是JUnit,其次是MOCK框架Mockito。
主要使用哪種開發框架
在Java生態系統中,Spring已經是占據了無可撼動的地位。隨著微服務等概念的越來越火,Spring Boot等也是越來越受歡迎了。主流的框架已經從SSH演化成 Spring全家桶。

主要使用哪種ORM框架
Java開發是離不開ORM框架的,幾乎很少有開發者通過JDBC進行數據庫操作的。
目前使用最廣泛的ORM框架還是老大哥Hibernate。
主要使用哪種數據庫
數據上面,使用最多的還是Oracle,第二名是MySql
主要使用哪種應用服務器
在應用服務器的選擇上,超過40%的用戶選擇Tomcat。Tomcat、Jboss、Jetty包攬了前三甲。
開發者年齡分布
目前,開發者的普遍年齡在30+,其中30-40歲的開發者占總數的40%左右。那些嚷嚷著開發者干到30歲要轉行的人可以閉嘴了。
主要使用的學習網站
開發者主要通過StackOverflow進行學習,俗稱面向StackOverflow編程。
頒獎時間
以下是關于以上調查報告的總結。下圖中的12個獲勝者你都有在用嗎?

如果您在今后的開發中,需要做技術選型的時候,可以參考這份調查報告。
那么問題來了,你和廣大開發者的選擇一致嗎?
【本文是51CTO專欄作者Hollis的原創文章,作者微信公眾號Hollis(ID:hollischuang)】