日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Netty支持哪些I/O模式?

[[357081]]

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)臺(tái)江,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

 1 經(jīng)典I/O模式

BIO (阻塞I/O) JDK1.4前
NIO (非阻塞 I/O) JDK1.4 (2002 年,java.nio 包)
AIO(異步 I/O) JDK1.7 (2011 年)

1.2 對(duì)比概念

阻塞與非阻塞

數(shù)據(jù)就緒前要不要等待?

  • 阻塞

沒有數(shù)據(jù)傳過來時(shí),讀會(huì)阻塞直到有數(shù)據(jù);緩沖區(qū)滿時(shí),寫操作也會(huì)阻塞

  • 非阻塞

直接返回

同步與異步

數(shù)據(jù)就緒后,數(shù)據(jù)操作誰完成?

  • 需要自己去讀是同步
  • 數(shù)據(jù)就緒直接讀好再回調(diào)給程序是異步

2 Netty 對(duì)三種 IO 的支持變遷

劃線的已不再支持了哦!

為什么廢除阻塞I/0 (BIO/OIO) ?

連接數(shù)高的情況下:阻塞 -> 耗資源、效率低。

阻塞意味著等待,等待就會(huì)一直占用該線程,當(dāng)連接數(shù)高時(shí),大多線程又在等待,就會(huì)耗盡系統(tǒng)的線程資源。

為什么刪掉已經(jīng)做好的AIO支持?

  • Windows實(shí)現(xiàn)成熟,但其很少用做服務(wù)器
  • Linux常用做服務(wù)器,但其AlO實(shí)現(xiàn)不夠成熟
  • Linux下AIO相比較NIO的性能提升不明顯

所以 netty 也是聯(lián)系實(shí)際情況才有選擇地支持高性能的 IO 模式。

為什么 Netty 支持多種實(shí)現(xiàn)?

通用NIO實(shí)現(xiàn)(Common)在Linux下也是epoll,但Netty依舊選擇自己實(shí)現(xiàn),因?yàn)楦茫?/p>

Netty提供更多可控參數(shù):

  • JDK的NIO默認(rèn)實(shí)現(xiàn)是水平觸發(fā)
  • Netty 是邊緣觸發(fā)(默認(rèn))和水平觸發(fā),且可切換

Netty實(shí)現(xiàn)的垃圾回收更少、性能更好

NIO 一定優(yōu)于 BIO?

BIO 代碼簡(jiǎn)單且在特定場(chǎng)景:連接數(shù)少,并發(fā)度低,BIO 性能不輸NIO。當(dāng)然考慮業(yè)務(wù)發(fā)展后期都是復(fù)雜場(chǎng)景了,所以 Netty 只考慮 NIO。

本文轉(zhuǎn)載自微信公眾號(hào)「JavaEdge」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系JavaEdge公眾號(hào)。

 


文章名稱:Netty支持哪些I/O模式?
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/dpesihe.html