NIO

作者: sunyuan1125 | 来源:发表于2017-03-22 23:49 被阅读11次

    1 NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector

    2 Selector(选择区)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个数据通道

    3 NIO的非阻塞模式: 线程通常将非阻塞IO的空闲时间用于在其它通道上执行IO操作,所以一个单独的线程现在可以管理多个输入和输出通道(channel)

    4 Channel是双向的,既可以用来进行读操作,又可以用来进行写操作

    5 FileChannel 文件

    DatagramChannel UDP

    SocketChannel  TCP 

    ServerSocketChannel TCP 

    6 NIO中的关键Buffer实现有:ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer, ShortBuffer,分别对应基本数据类型: byte, char, double, float, int, long, short。当然NIO中还有MappedByteBuffer, HeapByteBuffer, DirectByteBuffer

    7  flip()方法将Buffer从写模式切换到读模式

    8 buffer和channel的互相读取使用的方法未研究清楚

    相关文章

      网友评论

          本文标题:NIO

          本文链接:https://www.haomeiwen.com/subject/xfjanttx.html