伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > 常用的java框架有哪些?

常用的java框架有哪些?

2020-08-11 15:57:52 | 來源:中培企業(yè)IT培訓網(wǎng)

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

1.Spring

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

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

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

  2.Spring MVC

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

  MVC 分層架構主要分為

· Model 層是對應用程序數(shù)據(jù)的一個封裝;

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

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

  3.MyBatis

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

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

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

  4.Spring Boot

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

  5.Spring Cloud

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

· Eureka:用于服務的注冊發(fā)現(xiàn);

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

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

· Config:配置中心;

· Zuul:網(wǎng)關。

可見 Spring Cloud 對分布式系統(tǒng)提供了豐富的組件。

  6.Dubbo

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

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

  7.Netty

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

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

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

  8.SkyWalking

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

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

  9.ZooKeeper

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

  10.canal

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

  11.Vert.x

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

  12.Elasticsearch

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

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

主站蜘蛛池模板: 早起邻居人妻奶罩太松av | 特级黄色毛片视频片子 | 欧美激情一区二区三区AA片 | 少妇高潮毛片 | 女人自慰喷水高清播放 | 一区二区三区在线高清 | 全部免费毛片在线播放网站 | 最新无码人妻在线不卡 | 国产精品二区在线 | 久久在线视频 | 免费精品国产 | 老司机成人精品视频 | 少妇人妻无码精品视频 | 综合二区| 人人妻人人澡人人爽欧美一区九九 | 亚洲AV伊人久久综合密臀性色 | 国产精品免费不 | 日本少妇bbbb爽爽bbb美 | 国产精品久久久久久夜夜夜夜 | 99日精品| 国产精品一亚洲AV日韩AV欧 | 东北丰满熟女人妻与小伙 | 久久高清毛片 | 激情亚洲一区二区 | 妖精视频一区二区免费 | 亚洲欧洲无码一区二区三区 | 久久丫忘忧草产品 | 国自产偷精品不卡在线 | 曰韩中文字幕 | 91老司机精品视频 | 毛片免费播放 | 欧美性猛交XXXX富婆 | 加勒比色老久久爱综合网 | 久久成年人视频 | 国产成人亚洲精品另类动态图 | 欧美不卡影院 | 亚州欧洲日韩精品 | 色秘?乱码一区二区三区唱戏 | 午夜精品久久18免费观看 | 老司机午夜精品视频资源 | 欧美丰满大乳高跟鞋 |