Netty整体框架
前面两篇文章对Java NIO进行了详细的介绍和分析,也给下面分析Netty源码打下一定的基础
Java已经有了一个原生的NIO框架,为什么还会出现Netty呢,这个原因主要有两个:
-
Java的NIO还不够高效,其底层使用 selector
,而Netty使用Linux下最高效的I/O模式 epoll -
Selector多路复用的开发模式较为复杂,需要在程序中自己 轮询
,而且SelectionKey需要自己进行删除的管理,比较容易出错,而且由很多阻塞操作( select
),Java自带的AIO更加难用。Netty是全异步操作,并且将底层IO操作全部封装,简化开发 -
Java的NIO内存管理采用 ByteBuffer
, ByteBuffer
是出了名的难用,在使用的时候要是忘记flip()
很容易出错。Netty提供的 ByteBuf
就好用了很多,其采用 读写双Index
,更加易用
原文
https://segmentfault.com/a/1190000022098173
本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Netty源码03-Netty整体框架