NIO同步和异步的区别:
同步和异步都是基于应用程序和操作系统。
同步:应用程序注解参与IO读写,所以是阻塞的,需要等待IO完成。
异步:IO读写交给操作系统,非阻塞。
NIO(同步非阻塞):面向缓冲区
IO : 面向流,(阻塞的,浪费性能)。
NIO:主要是通过selector 选择器管理所有的 IO 时间,服务端为例:
1. 首先需要serverSoketChannel .open() : 获得一个channel
2. 然后通过 channel . configuerBlocking (false ); 设置非阻塞再通过channel .socket ( ); 获取一个Serversocket .
3. 然后通过bing ( ) 绑定端口,后打开选择器selector .open ( );通过channel .register(Selector,key),注册通道,后通过selector。select();监听key.
IO流:字节流是读到一个就返回一个,几乎所有文件都可以读取,字符流是只能读取字符,读文本优先字符流。
字节流 (BufferedRead , BufferedWrite)
字符流 (Buffered Input Stream ,BufferedOut Stream)
转载来源为https://blog.csdn.net/qq_38704184/article/details/84886504