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

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è)
返回頂部
武定县| 扶风县| 宣化县| 开化县| 图木舒克市| 巴中市| 六枝特区| 五大连池市| 南京市| 马龙县| 抚远县| 蕲春县| 普定县| 抚顺县| 安龙县| 屯留县| 乌鲁木齐市| 康平县| 潞城市| 安平县| 开原市| 吉隆县| 利津县| 弋阳县| 游戏| 绵竹市| 广汉市| 南开区| 汶川县| 涞水县| 东莞市| 营口市| 榆树市| 叙永县| 观塘区| 穆棱市| 鄂州市| 时尚| 杂多县| 措勤县| 华宁县|