Java面试题:BIO、NIO、AIO 有什么区别?

本文将介绍 java 面试题“BIO、NIO、AIO 有什么区别?”。

BIO(Block input output)

BIO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。

当服务端和客户端交互时,如果服务端接收了一个客户端请求,就要为这个客户端一直服务直到结束,否则无法为下一个客户端服务,BIO 就属于同步阻塞 IO。

NIO(New I/O)

NIO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。

NIO 是 Java 1.4 引入的,相对于传统的 IO 来说,N 可以代表 New 的意思,表示新 IO,但更为具体的理解是 Non-blocking 的意思,是一种同步非阻塞的 IO 模型。它提供了 Buffer,Channel,Selector 三大组件。

AIO(Asynchronous I/O)

AIO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。

JDK1.7 中,java.nio.channels 包下增加了多个异步通道,是 NIO 的升级版本,实现 AIO AsynchronousIO 的异步非阻塞 IO 模型。

不是每一次努力都有收获,但是,每一次收获都必须努力。
1 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号