各种 IO | 学习笔记

简介: 快速学习各种 IO。

开发者学堂课程【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;发出等待之后用户就继续向下执行了,完成后获得一个通知。

 

相关文章
|
5月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
103 0
|
Java
java202303java学习笔记第三十五天IO流中不同JDK版本捕获异常的方式1
java202303java学习笔记第三十五天IO流中不同JDK版本捕获异常的方式1
71 0
|
前端开发
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之socket发送文本状态2
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之socket发送文本状态2
50 0
|
前端开发
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之自定义指令创建之2
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之自定义指令创建之2
47 0
|
JavaScript 前端开发
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之原生dom导入和移除的技巧2
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之原生dom导入和移除的技巧2
34 0
|
12月前
|
Linux Go 调度
Go学习笔记-协程和IO多路复用
Go学习笔记-协程和IO多路复用
161 0
Go学习笔记-协程和IO多路复用
|
12月前
|
NoSQL 网络协议 Redis
Redis学习笔记-高性能IO模型&Redis6.0多线程
Redis学习笔记-高性能IO模型&Redis6.0多线程
124 0
|
前端开发
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之响应式和视图数据渲染1
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之响应式和视图数据渲染1
50 1
java202303java学习笔记第三十五天IO流中为什么会有乱码
java202303java学习笔记第三十五天IO流中为什么会有乱码
62 1
|
Java
java202303java学习笔记第三十五天IO流中不同JDK版本字符串方式2
java202303java学习笔记第三十五天IO流中不同JDK版本字符串方式2
44 0