Netty权威指南读书笔记(三)

来源:互联网 发布:淘宝秀当网 编辑:程序博客网 时间:2024/05/09 04:31

1.nio类库

SocketChannel和ServerSocketChannel对应io的Socket和ServerSocket。前两者支持阻塞和非阻塞两种模式。nio在标准java中提供了高速的面向块的IO,不用使用本机代码就可以利用低级优化。

2.buffer缓冲区

在面向流的IO中,可以将数据直接写入或者将数据直接读到Stream对象中。在nio中,所有数据都是用缓冲区处理的,读取数据是直接读取到缓冲区中,写入数据是直接写入到缓冲区中,任何时候访问NIO中的数据,都是通过缓冲区进行操作的。

缓冲区是一个数组,又不仅仅是一个数组,它提供对数据的结构化访问,并维护读写位置等信息。

3.channel通道

流:只在一个方向上移动,一个流必须是InputStream或者OutputStream的子类。

通道:可以用于读,写或者二者同时进行。(全双工,UNIX网络编程模型中,底层操作系统的通道也都是全双工的,同时支持读写操作)

SelectableChannel:用于网络读写

FileChannel:用于文件操作


0 0