1.什么是IO流?
IO流就是以流的方式进行输入输出
主要用来处理设备之间的传输,文件的上传,下载和复制
流分输入和输出,输入流从文件中读取数据存储到进程中,输出流从进程中读取数据然后写入到目标文件。
2.IO分类有几种?
针对操作对象的大致分类
磁盘I/O
网络I/O
内存映射I/O
Direct I/O
数据库I/O
阻塞与同步分类
BIO(同步&阻塞)
NIO(同步&非阻塞)
AIO(异步)
3.select、poll、epoll工作原理?
select、poll、epoll 都是 I/O 多路复用的机制。I/O 多路复用可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select、poll、epoll 本质上都是同步 I/O ,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步 I/O 则无需自己负责进行读写,异步 I/O 的实现会负责把数据从内核拷贝到用户空间。