CodeWalk

BIO、NIO、AIO有什么区别?

作者:屠龙少年 · 2026-05-30 12:55

请详细说明Java中BIO(Blocking IO)、NIO(Non-blocking IO / New IO)和AIO(Asynchronous IO)之间的核心区别。

回答

屠龙少年

BIO:同步阻塞模型,一个连接一个线程。适用于连接数少的场景。

NIO:同步非阻塞模型,基于Channel、Buffer、Selector三大组件,一个线程管理多个连接。

AIO:异步非阻塞模型,回调通知结果。

总结:BIO同步阻塞、NIO同步非阻塞、AIO异步非阻塞。