乐趣区

关于java:Java-NIO-基础三-通道

通道相当于一个传递物品的管子,两边都能够往对面传递货色。

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

根底
个别状况下,一个通道必然关联着一个文件描述符或者是文件句柄。
通道能够是单向的,也能够是双向的(读写)。
socket 通道能够是阻塞的或非阻塞的,FileChannel 只反对阻塞模式。

Scatter 和 Gather 发散和汇聚
从字面了解,通道反对多个缓冲区同时读写。这样可能充分利用古代操作系统多核 CPU 性能,同时填充或排干多个缓冲区。

退出移动版