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

1.nio类库
SocketChannel和ServerSocketChannel对应io的Socket和ServerSocket。前两者支持阻塞和非阻塞两种模式。nio在标准java中提供了高速的面向块的IO,不用使用本机代码就可以利用低级优化。
2.buffer缓冲区
在面向流的IO中,可以将数据直接写入或者将数据直接读到Stream对象中。在nio中,所有数据都是用缓冲区处理的,读取数据是直接读取到缓冲区中,写入数据是直接写入到缓冲区中,任何时候访问NIO中的数据,都是通过缓冲区进行操作的。
缓冲区是一个数组,又不仅仅是一个数组,它提供对数据的结构化访问,并维护读写位置等信息。
3.channel通道
流:只在一个方向上移动,一个流必须是InputStream或者OutputStream的子类。
通道:可以用于读,写或者二者同时进行。(全双工,UNIX网络编程模型中,底层操作系统的通道也都是全双工的,同时支持读写操作)
SelectableChannel:用于网络读写
FileChannel:用于文件操作

转自:http://blog.csdn.net/xxcupid/article/details/50492198

猜你喜欢

转载自rd-030.iteye.com/blog/2315641