NIO主要分为三部分,分别是channel、buffer和selector。其实NIO官方的说法是New IO,但是可以理解为nonBlocking IO,也就是非阻塞IO。
其中,channel主要分为filechannel、socketchannel、serversocketchannel、datagramchannel等。
但是filechannel,也就读取本地文件的通道是不支持非阻塞的,用法我感觉也与传统的inputstream和outputstream没太大的不同。因为不支持非阻塞,所以也就不支持与selector结合使用。其实,我觉得filechannel并不是NIO的重点,真正的核心是与网络通信相关的,也就是另外三个channel。我感觉,NIO的核心基本可以理解为IO多路复用。