Netty源碼03-Netty總體框架

Netty總體框架

前面兩篇文章對Java NIO進行了詳細的介紹和分析,也給下面分析Netty源碼打下必定的基礎html

netty框架介紹:
https://www.cnblogs.com/imstudy/p/9908791.html
https://blog.csdn.net/u013857458/article/details/82527722
Java已經有了一個原生的NIO框架,爲何還會出現Netty呢,這個緣由主要有兩個:
  • Java的NIO還不夠高效,其底層使用selector,而Netty使用Linux下最高效的I/O模式epoll
  • Selector多路複用的開發模式較爲複雜,須要在程序中本身輪詢,並且SelectionKey須要本身進行刪除的管理,比較容易出錯,並且由不少阻塞操做(select),Java自帶的AIO更加難用。Netty是全異步操做,而且將底層IO操做所有封裝,簡化開發
  • Java的NIO內存管理採用ByteBufferByteBuffer是出了名的難用,在使用的時候要是忘記flip()很容易出錯。Netty提供的ByteBuf就好用了不少,其採用讀寫雙Index,更加易用
相關文章
相關標籤/搜索