netty 是一个基于nio的客户、服务器端编程框架,netty提供异步的,事件驱动的网络应用程序框架和工具,可以快速开发高可用的客户端和服务器。netty是基于nio的,它封装了jdk的nio,让我们使用起来更加方法灵活。
NIO的优势:
传统IO中,每创建一个连接都要创建一个线程来维护,极大地浪费资源和增加服务器的压力,传统IO线程切换效率低下,而且传统IO是面向字节流的,一次性只能从流中读取一个或者多个字节,并且读完之后流无法再读取,你需要自己缓存数据。效率不高。
NIO模型中,每个新连接进来,不是创建一个新线程,而是将连接绑定到一个selector中,然后这条连接的读写都由这个selector来管理,因为每个线程都会管理着一批连接,充分利用了资源和提高了效率,NIO是面向buffer的,可以随意读取里面任何一个字节数据,不需要你自己缓存数据,这一切只需要移动读写指针即可。
网友评论