浅谈NIO与IO

java.nio 包定义了缓冲区类
Channel是一个对象,可以通过它读取和写入数据。拿 NIO 与原来的 I/O 做个比较,通道就像是流。
通道与流的不同之处在于通道是双向的。而流只是在一个方向上移动(一个流必须是 InputStream 或者 OutputStream 的子类), 而 通道 可以用于读、写或者同时用于读写。
因为它们是双向的,所以通道可以比流更好地反映底层操作系统的真实情况。特别是在 UNIX 模型中,底层操作系统通道是双向的。

传统的网络ServerSocket中更可以体现这一现象

传统IO
浅谈NIO与IO


NIO

浅谈NIO与IO



你可能感兴趣的:(nio)