从JKD1.4开始,JDK提供了一系列改进的输入输出的新功能(New IO).
如果说旧的IO流是面向Stream的同步流,那么新的IO流是面向缓冲区的异步操作流.
跟nio相关的包都在java.nio下面
新项目或者网络服务器可以用nio,老项目不建议。
NIO是面向缓冲区的异步的设计
Channel不处理数据,只负责传输。
字符集
flip():Buffer有两种模式,写模式和读模式。在写模式下调用flip()之后,Buffer从写模式变成读模式。
也就是说调用flip()之后,读/写指针position指到缓冲区头部,并且设置了最多只能读出之前写入的数据长度(而不是整个缓存的容量大小)。