看看男人日女人,亚洲欧美日韩日本国产三,国产精品欧美日韩区二区,妓女影库妓女网在线视频

Java網(wǎng)絡(luò)編程(JAVA網(wǎng)絡(luò)編程面試題)

傳統(tǒng)的TCP和UDP通訊都是同步阻塞式IO(BIO),I指輸入流,O指輸出流,阻塞體現(xiàn)在通信的雙方接收和發(fā)送信息的速率不一樣,從而導(dǎo)致快的一方一直在等待慢的一方,不能進(jìn)行下一步動(dòng)作,同步體現(xiàn)在一直在等待對(duì)方響應(yīng)

NIO即同步非阻塞式IO,JDK4提出來(lái)的,主要有三大組件:Buffer(這個(gè)BIO也有,做數(shù)據(jù)緩沖,例如ReaderBuffer),Channel(這個(gè)類似BIO的輸出輸入流,不同點(diǎn)在于,channel是全雙工的,可以雙向通信),Selector(多路選擇器,實(shí)現(xiàn)非阻塞IO的關(guān)鍵),服務(wù)端建立ServerSocketChannel后,將其綁定在Selector上,Selector對(duì)ServerSocketChannel管道上接入的客戶端連接進(jìn)行輪詢監(jiān)聽(tīng),當(dāng)發(fā)生相應(yīng)的Selectionkey事件后,進(jìn)行相應(yīng)的讀寫操作,這種情況下,是一個(gè)服務(wù)端管道對(duì)應(yīng)多個(gè)客戶端管道,中間用一個(gè)選擇器對(duì)多個(gè)客戶端管道的進(jìn)行處理,當(dāng)哪個(gè)管道有事件發(fā)生的時(shí)候,就拿這個(gè)管道與服務(wù)端管道進(jìn)行對(duì)接通信,這樣就不用一直等著某個(gè)客戶端了,實(shí)現(xiàn)了非阻塞

AIO即異步IO,JDK7提出來(lái)的,采用回調(diào)方法進(jìn)行讀寫操作,簡(jiǎn)單講就是,消息給你發(fā)過(guò)去就不管了,你啥時(shí)候回我,調(diào)用我給你的方法(回調(diào)方法)就行了,建立管道連接方式和BIO/NIO差不多,核心類是Completionhandler,用于回調(diào)操作

Netty是一個(gè)非阻塞,基于異步事件驅(qū)動(dòng)的網(wǎng)絡(luò)通信框架,簡(jiǎn)單講是NIO和AIO的組合體,利用回調(diào)函數(shù)(主要是各種handler類)實(shí)現(xiàn)了異步(這點(diǎn)像AIO),利用事件分類做了業(yè)務(wù)驅(qū)動(dòng)處理,例如對(duì)處理類分成Inbound和OutBound兩種類型,通信套路跟上述通信方式大同小異,都是建立管道進(jìn)行通信

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁(yè)
返回頂部
东光县| 柳州市| 黄梅县| 肇州县| 平陆县| 祁连县| 广东省| 巴林左旗| 开平市| 垣曲县| 沈丘县| 广东省| 和平县| 云龙县| 芒康县| 台中县| 西乡县| 道真| 会昌县| 麟游县| 靖远县| 新晃| 招远市| 库伦旗| 双桥区| 桐柏县| 龙山县| 乾安县| 庆城县| 平遥县| 汕头市| 洞口县| 翁源县| 香格里拉县| 忻城县| 兴业县| 全州县| 新兴县| 苍溪县| 南城县| 阜宁县|