开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:各种 IO】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/24/detail/511
各种IO
内容介绍
一、什么是异步 IO,和同步 I0 区别有哪些?
二、 BIO,NIO,AIO 实现区别
一、什么是异步 IO,和同步 I0 区别有哪些?
如果要进行图形的用户信息输入的时候会发现如果用户不输入信息,则程序就进入到-种阻塞状态,那么这种阻塞的状态一定是要在你输入完成后才会解除,就成为同步 IO 。
阻塞状态下执行;所谓的异步 IO 简单一点来讲在阻塞的时候其它的线程依然可以执行。BIO:同步阻塞 I0,就是传统的操作实现模式,就是传统的 I0 处理,像最基础的InputStream;
二、 BIO,NIO,AIO实现区别
NIO :异步阻塞 I0:做一个零拷贝操作,正常的文件操作是通过 CPU 向内存要数据,而后内存向硬盘要数据,而零阻塞指的是内存直接将读取到的数据发送给客户端,中间不再经过 CPU 处理,里面重要的是一个 Channel;
AIO :异步非阻塞 IO;发出等待之后用户就继续向下执行了,完成后获得一个通知。