與一年前一樣,Java仍然是最流行的編程語言。據TIOBE的數據顯示,幾十年來,Java比其他語言更常名列榜首,Java因為它擁有可移植性、可擴展性和龐大的用戶社區,所以許多知名互聯網公司使用Java來開發軟件和應用程序,導致互聯網企業對Java程序員的需求急劇增加。
2019年互聯網企業在Java開發中最主流、最熱門的IT技術,相信你看完這篇文章後,會對Java開發有全新的認識。
注:每項調查統計中,所涉及的技術均採用多選模式。調查結果的單個技術佔比率採取: 單個技術投票數量 / 調查總人數 * 100%。
工作中技術使用情況
遠程調用技術
87.04%的程序員在工作中會涉及到遠程調用技術。 其中,多數程序員在工作中會使用web service、RPC、HttpInvoker。
使用RPC框架的程序員中, 使用Dubbo的人數佔比最高,其次為 dubbox、gRPC、hessian也具有一定的使用比例。
微服務技術
73.06%的程序員在工作中會使用微服務架構。 其中, Spring Cloud、 Dubbo、 Dubbox佔比最高。 “其它”類型的微服務架構中,以 springboot佔比最高,可達26%。
僅有35.7%的在工作中會使用微服務網關。其中,使用springcloud-zuul的程序員佔比最高。
僅有20.85%的程序員在工作中會使用微服務鏈路監控技術。其中,8.48%的程序員使用Hystrix dashboard,6.23%的程序員使用ZipKin實現。
數據庫技術
程序員在工作中常用的數據庫開發工具為IntelliJ IDEA和 Eclipse。最經常涉及到的數據庫知識點為:表結構分析與設計和索引。存儲過程和連接池被使用的頻率也較高。
消息隊列技術
程序員在工作中使用的消息隊列技術主要為ActiveMQ、RabbitMQ和Kafka。RocketMQ的使用人數較少。
開發技術
多數程序員在工作中使用的開發技術為權限管理和消息隊列。1/4的程序員在工作中使用的開發技術為報表技術、分佈式緩存技術和負載均衡解決方案。
全文檢索技術
Solr、elasticsearch和Lucene是多數老程序員在工作中使用的全文檢索技術。其中,超半數的程序員在工作中使用solr和elasticsearch。
權限管理技術
58.8%的程序員在工作中會使用權限管理技術。其中, shiro的使用比例最高,其次為spring security和自定義框架。
報表技術
POI是程序員在工作中使用的主要報表技術,其次為Echarts。
分佈式緩存技術
Redis技術是絕大多數程序員在工作中會使用到的分佈式緩存技術。其次為ehcache,而Memcached佔比較低。
分佈式事務解決方案
63.33%的程序員在工作中會涉及到分佈式事務解決方案。其中,44.29%的程序員使用分佈式事務解決方案的目的是保證最終事務性,其次為使用事務補償和使用兩階段提交。
靜態資源緩存方案
半數以上程序員在工作中使用的靜態資源緩存方案為nginx proxy_cache。其次為瀏覽器緩存實現和CDN實現。
項目中使用的技術
多數老程序員在項目中應用MyBatis和前後端分離技術。而在解決方案方面,多數程序員會涉及到spring全家桶和消息中間件。
數據分析統計
- 企業工作中用到的微服務架構主要為spring cloud和Dubbo;
- 鏈路監控技術中以Hystrix dashboard實現和ZipKin實現為主;
- 微服務網關主要用到spring cloud-zuul;
- 企業工作中用到項目相關知識點主要為MyBatis、前後端分離、Shiro認證框架;
- 在實際工作中使用到的解決方案:Spring全家桶技術佔比較高,其次為消息中間件。
爬蟲技術
Jsoup是程序員在工作中使用的組要爬蟲技術,其次為Web Magic和“其他”。
這些技術你瞭解多少呢?
閱讀更多 碼農指南者 的文章