Java NIO 基础三 通道

通道相当于一个传递物品的管子,两边都可以往对面传递东西。

有哪些通道?
对应文件IO和网络IO,通道也分为一个FileChannel和三个socket通道(SocketChannel、ServerSocketChannel和DatagramChannel)

基础
一般情况下,一个通道必然关联着一个文件描述符或者是文件句柄。
通道可以是单向的,也可以是双向的(读写)。
socket通道可以是阻塞的或非阻塞的,FileChannel只支持阻塞模式。

Scatter和Gather 发散和汇聚
从字面理解,通道支持多个缓冲区同时读写。这样能够充分利用现代操作系统多核CPU功能,同时填充或排干多个缓冲区。

你可能感兴趣的:(java,io,nio,channel)