国产免费牲交视频无遮挡_偷偷鲁视频成人免费视频_中文无码 日韩精品_曰韩无码人妻中文字幕

新聞資訊

新聞資訊
首頁 > 新聞資訊 > 正文內(nèi)容

java做網(wǎng)站用什么框架(java開發(fā)web用什么框架好)

時間:2023-11-25 信途科技新聞資訊
背景

想要了解http協(xié)議,先看http協(xié)議在tcp/ip協(xié)議中的位置以及對應(yīng)java層面io層的數(shù)據(jù)流方式,如上圖所示,http協(xié)議位于應(yīng)用層,在tcp協(xié)議之上;下圖即是java層面幾種通信模型簡介

幾種nio模型

使用BIO方式(同步阻塞IO)

使用ServerSocket綁定IP地址,啟動端口,使用Socket進行握手連接,連接成功后,雙方通過輸入輸出流進行同步阻塞式通信,每當有客戶端的請求后,即啟動一個線程進行處理

使用PAIO(同步阻塞IO)

使用線程池進行處理客戶端的請求,因為在進行read或者write的時候,都是阻塞IO的,所以還是同步阻塞IO,只是線程的資源交由線程池進行控制

使用java.nio包的NIO方式(異步非阻塞IO)

使用NIO方式 異步IO,使用多路復用器關(guān)聯(lián)通道,當通道中有事件時,即通知處理,不用阻塞IO,利用ByteBuffer進行數(shù)據(jù)緩沖,使用Channel進行數(shù)據(jù)傳輸,利用Selector進行通道的輪詢與管理,讀寫均是異步的

使用AIO方式(異步非阻塞IO)

使用AIO方式,異步非阻塞IO,NIO的升級版,通過一系列的回調(diào)策略(CompletionHandler)完成應(yīng)用功能,無需借助于Selector,對應(yīng)于unix的異步IO

上面5種方式的code示例在----https://github.com/undergrowthlinear/netty.git

http request line和response line

了解http request line格式和response line對于后面看各個框架源碼,有很大用處,可以隨意打開chrome的調(diào)試器,看下訪問一個請求對應(yīng)的數(shù)據(jù)格式是否如上圖所說

netty

netty 主從多模型

reactor 主從多線程模型 來源 https://xintu.cnblogs.com/luoxn28/p/11875340.html

大致工作流程如下:當客戶端連接進來。在main線程池進行握手、鑒權(quán)等功能校驗;通過后,將channel通道注冊到io線程池,通過一系列的handler進行處理業(yè)務(wù)數(shù)據(jù)流。

netty邏輯架構(gòu)圖

承接上面的主從多模型,當客戶端注冊到io線程池后,netty使用管道流pipeline的方式,允許開發(fā)者復用框架已有的處理器以及自定義處理器,很多開源框架的網(wǎng)絡(luò)層都是使用netty進行通信,例如rocketmq、dubbo等

netty中對于http協(xié)議支持核心類

HttpObject

HttpContent(大塊對象支持) 、DefaultHttpContent、LastHttpContent(EMPTY_LAST_CONTENT)、HttpMessage(HttpRequest/HttpResponse的通用屬性支持)、 HttpRequest、 DefaultHttpRequest

HttpObjectDecoder

(解析ByteBuf為HttpMessage和HttpContent或者LastHttpContent,取決于內(nèi)容數(shù)據(jù)塊的長度;如果沒有內(nèi)容,則是createMessage創(chuàng)建HttpMessage的子類;如果有固定長度內(nèi)容,且小于maxChunkSize,則DefaultLastHttpContent;最后有很多內(nèi)容的時候,就是DefaultHttpContent、DefaultLastHttpContent)----所以這里有HttpRequest和HttpContent內(nèi)容需要業(yè)務(wù)端分開處理、HttpRequestDecoder()、HttpResponseDecoder(解析ByteBuf為HttpResponse/HttpContent)

HttpObjectEncoder

(將HttpMessage或者HttpContent轉(zhuǎn)換成ByteBuf),HttpRequestEncoder(HttpRequest/HttpContent轉(zhuǎn)為ByteBuf)、 HttpResponseEncoder(HttpResponse/HttpContent轉(zhuǎn)為ByteBuf)、 io.netty.handler.codec.ByteToMessageDecoder#fireChannelRead----將解析出來的列表元素循環(huán)迭代對后續(xù)的處理器,對于理解http的HttpRequest與HttpContent/LastHttpContent至關(guān)重要

鏈接----https://github.com/netty/netty.git

okhttp

流程圖 來源 https://xintu.jianshu.com/p/5b886f851c59

以易用性和性能著稱,上圖的官方描述,支持http2.0、連接池復用、響應(yīng)緩存、流式調(diào)用、支持同步和異步調(diào)用等一系列功能,在很多開源框架中,也經(jīng)??吹玫剑溄?---https://github.com/square/okhttp.git

apache httpclient

apache出品,也是支持阻塞的io模型和非阻塞的nio模型,不過你要是用過okhttp,我估計你不會再用httpclient了,使用上,差距還是很明顯。

HttpURLConnection

java原生http協(xié)議,apache httpclient就是在其基礎(chǔ)上封裝而來,對開發(fā)者而言,易用性遠不及httpclient和okhttp

Feign

feign 支持特性 來源 https://github.com/OpenFeign/feign

當你對http request line和response line了解后,看feign的注解就會很清楚是什么意思了,注解式開發(fā),簡化http調(diào)用,spring微服務(wù)核心組件之一,鏈接----https://github.com/OpenFeign/feign.git

Forest

國人開源的類似feign的api框架,官方描述如下:

輕量級HTTP客戶端API框架,讓Java發(fā)送HTTP/HTTPS請求不再難。它比OkHttp和HttpClient更高層,是封裝調(diào)用第三方restful api client接口的好幫手,是retrofit和feign之外另一個選擇,鏈接----https://gitee.com/dromara/forest

當然,這也是我所了解過的http開源框架,可能還有更好用的,如果你知道,不妨在評論區(qū)留言,讓我也學習下。程序員的學習之路,逆水行舟,不學你就落后了,落后了就沒高薪水,就沒法買上好的假發(fā)了,持續(xù)學習,加油吧,伙伴們。

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由信途科技轉(zhuǎn)載于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系站長刪除。

轉(zhuǎn)載請注明出處http://macbookprostickers.com/xintu/10372.html

相關(guān)文章

開一個推廣引流公司(公司如何引流推廣)

山東朋友圈廣告代理招商,騰訊社交平臺廣告代理招商。山東朋友圈廣告代理招商,騰訊社交平臺廣告代理招商。山東朋友圈廣告代理招商,騰訊社交平臺廣告代理招商。根據(jù)新數(shù)據(jù): 目前登記在冊個體工商戶1.03億戶...

密云區(qū)網(wǎng)絡(luò)推廣行業(yè)(北京網(wǎng)絡(luò)優(yōu)化推廣公司)

密云區(qū)網(wǎng)絡(luò)推廣行業(yè)(北京網(wǎng)絡(luò)優(yōu)化推廣公司)

網(wǎng)絡(luò)推廣公司 1、網(wǎng)絡(luò)推廣就是以企業(yè)產(chǎn)品或服務(wù)為核心內(nèi)容,建立網(wǎng)站,再把這個網(wǎng)站通過各種免費或收費渠道展示給網(wǎng)民的一種推廣方式。2、網(wǎng)絡(luò)營銷推廣方案的實施,必然會有廣告預算,要通過規(guī)劃控制讓廣告費用發(fā)...

遼寧省引流軟件推廣(淘寶引流推廣軟件哪個好)

多年來,外賣平臺補貼大戰(zhàn)和商家價格戰(zhàn),讓習慣了紅包、滿減的用戶忽略了一個常識:外賣本來就應(yīng)該比堂食貴?,F(xiàn)在,依賴平臺的商家們只能吞下苦果,在漲價和虧損的邊緣小心試探,外賣不再是賺錢的生意了,只是艱難維...

線上網(wǎng)絡(luò)營銷的弊端,線上到線下的網(wǎng)絡(luò)營銷模式

消費者觀念的改變,是使人們普遍接受網(wǎng)路營銷的重要基礎(chǔ),而目前大多數(shù)消費者的觀念還沒有轉(zhuǎn)變,表現(xiàn)為消費者個性消費的回歸不強消費主動性的不夠強。和傳統(tǒng)的營銷模式相比,網(wǎng)絡(luò)營銷的利與弊也日益凸顯出來下面YJ...

姑蘇店面引流系統(tǒng)怎么推廣(如何利用店招進行引流)

當選擇困難癥發(fā)作的時候,很多人總會去點評網(wǎng)站看看有什么種草的,商家如果有差評的話多多少少會降低消費的欲望。然而對差評動輒就以”同行詆毀“為由要求刪評,能行得通嗎?3月9日,江蘇省高級法院公眾號發(fā)布的一...

中國跳繩推廣圖片大全(中國跳繩logo)

中國跳繩推廣圖片大全(中國跳繩logo)

國際跳繩的正確姿勢 )踏步。大腿抬平,小腿自然下垂,落地時用前腳掌 過渡到全腳掌,兩臂前后自然擺動,身體保持自然。(2)開合跳。跳起分開落地,髖部、腳尖外開,膝關(guān)節(jié)在同方向彎曲。蹬地還原時,腳跟并攏,...

現(xiàn)在,非常期待與您的又一次邂逅

我們努力讓每一次邂逅總能超越期待

  • 效果付費
    效果付費

    先出效果再付費

  • 極速交付
    極速交付

    響應(yīng)速度快,有效節(jié)省客戶時間

  • 1對1服務(wù)
    1對1服務(wù)

    專屬客服對接咨詢

  • 持續(xù)更新
    持續(xù)更新

    不斷升級維護,更好服務(wù)用戶