首页 > 其他 > 详细

Mina入门:Java NIO基础概念

时间:2014-03-05 20:58:25      阅读:494      评论:0      收藏:0      [点我收藏+]

JDK1.4引入了Java NIO API(Java New IO),Java NIO得到了广泛应用。NIO允许程序进行非阻塞IO操作。java.nio.* 包括以下NIO基本结构:

 

  • Buffer - 数据的容器;
  • Chartsets - 针对字节与Unicode的容器转换器;
  • Channels - 代表IO操作的实体连接;
  • Selectors - 提供可选择的、可复用的非阻塞IO;

Java NIO引入了两个新的概念:通道Channel和选择器Selector;

Channels是服务端和客户端进行通信的接口-----原来是直接的IO操作,客户端发信息给服务端,服务端从OutputStream中读取,然后向InputStream中写数据;现在则直接从Channel中读取或写入数据;

Selectors是一个多路复用器:所有的通道向它注册事件,因此它管理了所有的通道信息,并轮询各个通道的状态,一旦某个通道某事件发生(比如有数据读或可以写入数据),则通知该管道对应事件的处理器去处理它;

 

客户端连接上服务端后,首先每个客户端都要与服务端建立一个通道(SocketChannel);然后每个通道向选择器(Selector)注册事件,注册器会轮询查看每个通道是否有事件发生,一旦某通道有事件发生,比如Client1的SocketChannel有数据了,就触发了读就绪事件,可以进行读取的操作啦。

Mina入门:Java NIO基础概念,布布扣,bubuko.com

Mina入门:Java NIO基础概念

原文:http://www.cnblogs.com/hyk110988/p/3583099.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!