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

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è)
返回頂部
防城港市| 海晏县| 甘南县| 巧家县| 台山市| 闵行区| 芦山县| 股票| 乌兰浩特市| 宝兴县| 新巴尔虎右旗| 遂宁市| 策勒县| 阿拉善左旗| 丹江口市| 德江县| 文化| 元江| 綦江县| 普安县| 雅江县| 罗山县| 清徐县| 佛坪县| 蒙阴县| 安达市| 六盘水市| 湘潭县| 当涂县| 潼关县| 寿光市| 台山市| 天全县| 印江| 建德市| 冷水江市| 千阳县| 甘孜县| 铜梁县| 贵溪市| 内乡县|