NIO入门(一):快速了解NIO

 

1.Java NIO: Non-blocking IO(非阻塞IO)
(1)java NIO可以非阻塞的使用IO (例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。)
(2)NIO和IO有相同的作用和目的,但实现方式不同
  IO     面向流      阻塞IO
  NIO  面向缓冲   非阻塞IO     选择器
(3)在Java API中提供了两套NIO:针对标准输入输出、网络编程。

2 .核心API: Channel、Buffer、Selector
  Channel (通道) and Bufffer (缓存区)
标准的IO基于字节流和字符流进行操作的;
NIO是基于通道(Channel)和缓冲区(Buffer)进行操作
  Selector(选择器)
选择器用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个的线程可以监听多个数据通道。

     

 

3.

说明:注意 流的读写通常是单向的,数据可以从Channel到Buffer,或者从Buffer到Channel

 

posted @ 2018-12-23 23:25  ranx  阅读(429)  评论(0)    收藏  举报