關注“Java這點事”,
每天與你分享Java技術、IT資訊
JAVA語言作為歷史最為悠久的編程語言,從95年5月開始歷經數十年依然盤踞在編程榜前三的位置,與它強大的功能和廣泛的運用分不開。JAVA 技術的更新迭代是開發者應該關注的問題,下面盤點一下2020年互聯網企業在JAVA 開發中有哪些主流、熱門的IT技術,幫助大家在職場中快速崛起。
1、微服務技術
首當其沖的就是我們的微服務技術,從最開始的單體式服務,逐步的演化到集群,分布式,以及現在的微服務。
其中在微服務架構主要有:Spring Cloud alibaba、 Dubbo、 ZooKeeper等,以 Dubbo占比26.18%,微服務網關技術,這些技術的變更是隨着時代的潮流在不斷前進的 我們也是不斷的去進步學習。
2、遠程調用技術
RPC遠程過程調用是什么?
1、簡單的來說,RPC就是從一台機器上通過參數傳遞的方式調用另外一台服務器上的一個函數或者方法,並得到返回結果。
2、RPC會隱藏底層的通訊細節,不需要直接處理Socket通訊或者Http通訊
3、RPC是一個請求響應模型,客戶端發起請求,服務器返回響應。
4、RPC在使用形式上想調用本地函數(或者方式)一樣去調用遠程的函數或者方法。
早期的RPC:
第一代 RPC(ONC RPC,OSF RPC)不支持對象的傳遞。CORBA太復雜,各種不同實現不兼容,一般程序員也玩不轉。DCOM,COM+ 逃不出 Windows的手掌心。RMI 只能在 Java里面玩。.NET Remoting 只能在 .NET 平台上玩。
現在使用RPC框架的程序員中, 使用Dubbo的人數占比較高,其次為 dubbox、gRPC、hessian也具有一定的使用比例。 較於早期的RPC有了較大的提升,可以在多平台語言使用。
3、開發技術
多數程序員在工作中使用的開發技術為權限管理和消息隊列。1/4的程序員在工作中使用的開發技術為報表技術、分布式緩存技術和負載均衡解決方案。當前2020年內最火的技術 就是 redis RocketMQ 和 ES等 技術 下面會進行詳細的描述。
4、權限管理技術
從控制力度來看,可以將權限管理分為兩大類:
1、功能級權限管理;
2、數據級權限管理。
從控制方向來看,也可以將權限管理分為兩大類:
1、從系統獲取數據,比如查詢訂單、查詢客戶資料;
2、向系統提交數據,比如刪除訂單、修改客戶資料。
首當其沖的 就是shiro,其次為spring security 以及 auth2和自定義框架等 。
一般就使用基於角色訪問控制技術RBAC(Role Based Access Control)。該技術被廣泛運用於各個系統,非常容易掌握。
5、消息隊列技術
消息中間件屬於分布式系統中的一個子系統,關注於數據的發送和接收,利用高效可靠的消息傳遞機制對分布式系統中的其余各個子系統經進行集成
消息隊列技術主要有:ActiveMQ、RabbitMQ和Kafka。RocketMQ的使用人數較少。但是逐漸的成為了主流趨勢
6、分布式緩存技術
Redis技術是絕大多數程序員在工作中會使用到的分布式緩存技術。其次為ehcache,而Memcached占比較低。Redis 6.0之后支持了多線程 那么是如何實現的呢 ?
7、全文檢索技術
Solr、elasticsearch和Lucene是多數老程序員在工作中使用的全文檢索技術。其中,超半數的程序員在工作中使用Solr和elasticsearch。
lasticsearch
基於lucene
lucene的局限性:
只能基於java開發
類庫的接口學習曲線陡峭
原生並不支持水平拓展
Java在IT技術圈中仍然占據着主流地位,開發者想要不被企業淘汰就需要不斷的學習掌握最新的java的技術,才能更具競爭力。
還有哪些技術,歡迎你們在評論區留言。
————END————
歡迎關注公眾號: Java這點事(ID:Java20177)
簡介:每晚十點給技術人分享Java技術、IT資訊