欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > 常用的java框架有哪些?

常用的java框架有哪些?

2020-08-11 15:57:52 | 來源:中培企業IT培訓網

在眾多編程語言當中,java是目前軟件開發中,應用比較廣泛的編程語言。但是想要使用java開發軟件,也是需要一些框架來作為支撐的。那么常用的java框架有哪些?目前仍然有許多Java框架。對工作中經常使用的框架的簡要介紹主要分為兩種。一種是框架本身是用Java語言開發的,另一種是用非Java語言開發的,但是它也經常被使用。

1.Spring

Spring 框架可以說是現在的老大哥,它提供了管理 Bean 對象的容器,省去了我們自己去 new 對象,只要通過簡單的依賴注入就可以引入想使用的對象。這是 Spring 的核心功能之一的 IOC(控制反轉),它的作用就是幫我們管理對象,省去了自己創建對象,而是由 Spring 來自動進行裝配。

Spring 還提供了另一個核心功能 AOP(面向切面編程的思想),通過動態代理來實現對一些切面功能的處理來降低耦合,比如統一的異常處理、日志處理、權限校驗等等。

可以說 Spring 是一個大生態,很多框架都能通過簡單地配置和 Spring 共同使用,大大方便了我們進行開發。

  2.Spring MVC

Spring MVC 是一個使用了 MVC 分層模式的 Web 框架,它底層其實就是一個 Servlet,接收并處理請求,然后返回響應。

  MVC 分層架構主要分為

· Model 層是對應用程序數據的一個封裝;

· View 層負責展示應用程序返回的數組;

· Contorller 層負責處理用戶請求,并建立對應的模型,然后做渲染。

  3.MyBatis

MyBatis 是一個對象關系映射(Object Relational Mapping)框架。它主要關注對象與數據庫之間的映射,框架會屏蔽操作數據庫的細節,然后把數據庫返回的數據封裝成對象,我們在應用中直接操作對象就行了。

但 MyBatis 需要自己手寫 SQL,這既是缺點也是優點吧。說它是缺點是因為還需要我們自己寫 SQL,優點呢就是我們可以對 SQL 進行定制化,比較自由。而且現在有很多插件可以實現對定義好的數據庫自定義生成對應的 SQL,如果有自定義 SQL 的需求,只要在 XML 文件中修改就好。總之,它方便了我們對數據庫的操作。

上面介紹的 Spring、Spring MVC、MyBatis 就是江湖大名鼎鼎的 SSM 框架。

  4.Spring Boot

Spring Boot 是一個快速開發的框架,能夠通過引入 Maven 依賴快速引入第三方框架,并且它通過引入大量的注解來簡化 XML 的配置。現在很多公司都已經在用 Spring Boot 了。

  5.Spring Cloud

Spring Cloud 為分布式系統提供完整的微服務框架,可以簡單看下它提供的組件:

· Eureka:用于服務的注冊發現;

· Ribbon/Feign:提供負載均衡;

· Hystrix:防止過載的斷路器;

· Config:配置中心;

· Zuul:網關。

可見 Spring Cloud 對分布式系統提供了豐富的組件。

  6.Dubbo

Dubbo 是一款開源的 RPC 遠程調用框架。現在很多公司都在使用微服務、分布式架構,也就是由之前的單體應用拆分成多個服務,然后服務之間進行調用。為了使消費端對服務端的調用透明化,就有了 RPC 框架,很多公司都在使用 Dubbo 來搭建微服務。

Dubbo 使用 SPI 機制實現了插件的可插拔,你可以自由擴展它提供的功能。同時它還提供了豐富的協議支持、豐富的負載均衡策略。在最新的版本中,Dubbo 對異步調用也做了很好的支持。總之,Dubbo 是一款優秀的 RPC 框架。

  7.Netty

Netty 是一個異步驅動的網絡應用框架,用于快速開發可維護、高性能的服務器和客戶端。很多 RPC 框架的的通信層都采用的是 Netty,上面介紹的 Dubbo 框架默認的 dubbo 協議就是采用 Netty 作為其通信框架。

Netty 的高性能取決于其 I/O 模型和線程模型。I/O 模型采用了 I/O 多路復用,雖然也是調用 select 方法,雖然會阻塞線程,但不會阻塞 I/O ,它會同時檢查多個寫和多個讀,只有在有數據就緒時,才會調用真正的 I/O 操作。

Netty 還解決了粘包/拆包問題,還支持零拷貝等等。總之,Netty 是一個高性能的網絡框架。

  8.SkyWalking

SkyWalking 是一個 APM(Application Performance Management,應用性能管理) 框架,在微服務盛行的時代,它可以做到服務調用鏈路的追蹤,是一個監控服務性能的利器。

SkyWalking 基于 OpenTracing 規范,Java 探針采用了字節碼增強技術實現,對業務代碼無侵入,而且社區非常活躍,支持多語言,是一款很好的 APM 框架。

  9.ZooKeeper

ZooKeeper 是一個分布式協調框架,提供統一命名服務、配置管理、數據發布/訂閱、負載均衡、分布式協調/通知、分布式鎖等分布式的基礎服務。ZooKeeper 采用了 ZAB 協議來解決分布式數據的一致性。在應用方面,Dubbo 的服務注冊中心就是采用的 ZooKeeper,其用途也是非常廣泛。

  10.canal

canal 是由阿里開源的一款基于 MySQL 數據庫增量日志解析的框架,主要提供增量數據訂閱和消費。canal 的工作原理是模擬 MySQL slave 的交互協議,偽裝自己是 MySQL 的 slave,向 master 發送 dump 協議,等 master 收到 dump 協議后,會把 binlog 日志傳給 canal ,然后 canal 就可以解析 binlog 日志了。該框架一般用于同步 MySQL 的數據,現在還支持把消息發送到 Kafka 中,然后由使用方訂閱 topic 進行消費。

  11.Vert.x

Vert.x 是一款異步框架,基于 Netty 實現,通過事件循環(Event Loop)來調用存儲在異步任務隊列的任務,能夠極大地提高系統的吞吐量,它還有一個特點是無鎖化。

  12.Elasticsearch

Elasticsearch 是一款分布式可擴展的實時搜索和分析引擎,底層基于 Lucene 開發。該框架可以用于分布式實時文件存儲、分布式搜索引擎等。Elaticsearch 的倒排索引被很多廣告公司用到了廣告庫檢索上,同時 Elaticsearch + Logstash + Kibana 可以搭建日志分析系統,即 ELK。

以上就是關于常用的java框架有哪些的全部內容,這里總計介紹12個框架,當然這里并不是全部的框架內容,如果想了解更多關于java的信息,請繼續關注中培偉業。

主站蜘蛛池模板: av在观线观看男人的天堂 | 欧美野外疯狂做受XXXX高潮 | 中文字幕视频一区二区三区久 | 亚洲精品一区二区三区无码夜色 | 日本xxxx色视频在线观看免费不卡 | 国产亚洲欧美中文字幕 | 亚洲免费成人 | 国产天美传媒性色AV出轨 | 777米奇影视第四色 欧美无砖专区一中文字 | 日产无码精品一区二区三区 | 激情综合五月 | 国产熟妇与子伦hd | 中文日产日产乱码乱偷在线 | 太深太粗太爽太猛了视频免费观看 | 色天使色妺姝在线视频 | 粉嫩小泬无遮挡久久久久久 | 黄色片观看 | 宅男av | 国产精品午夜无码av天美传媒 | 欧美怡红院免费全部视频 | 夜夜躁狠狠躁2021 | 女人被躁到高潮嗷嗷叫69 | 久久人妻无码中文字幕第一 | 2022色婷婷综合久久久 | 粉色视频在线观看免费观看 | 国产又黄又刺激又高潮的网站 | 中文字幕超清在线免费 | 久久99日韩国产精品久久99 | 亚洲国产AV无码专区亚洲AV | 99视频国产精品 | 免费视频爱爱太爽了无码 | 久久中文字幕亚洲精品最新 | 在线观看日本亚洲一区 | 公交车被多男摁住灌浓精在线观看 | 亚洲中文字幕无码永久免弗 | 免费看一级 | 欧美国产成人激情视频在线观看 | 精品无码专区久久久水蜜桃 | www黄色片网站 | 日韩欧美亚洲国产精品字幕欠久久 | 成人片免费网站 |