Java中的IO机制

BIO

即Block-IO:InputStream和OutStream(基于字节流),Reader和Writer(基于字符流),其交互方式是同步阻塞的
在这里插入图片描述

BIO的特点是在IO执行的两个阶段都被阻塞住了,代码简单直观;缺点是IO效率以及扩展性存在瓶颈

NIO

即Non-Block-IO:构建多路复用的、同步非阻塞的IO操作,提供了更接近操作系统底层的高性能数据操作方式
在这里插入图片描述

特点是:程序需要不断询问内核是否准备好,其中第一个阶段是非阻塞的,而第二个阶段是阻塞的
NIO的核心:Channels,Buffers,Selectors
在这里插入图片描述

IO多路复用:调用系统级别的select\poll\epoll

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

AIO

即Asynchronous IO:基于事件和回调机制(异步非阻塞) 在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/bob_man/article/details/104563620