Skip to content

BIO、NIO、AIO 的区别 ​

题目 ​

BIO、NIO、AIO 分别是什么?它们有什么区别?

参考答案 ​

  • BIO:同步阻塞,一个连接一个线程
  • NIO:同步非阻塞,多路复用
  • AIO:异步非阻塞,回调通知

业务上通常这样理解:

  • 模型简单、连接少时用 BIO
  • 高并发网络服务常用 NIO
  • AIO 在 Java 业务里并不如 NIO 普遍

回答展开 ​

  • 基础题不要只给定义,最好补上原理、边界和一个容易踩坑的点。
  • 如果能说明这个知识点解决什么问题、不能解决什么问题,回答会更完整。
  • 最后加一句实际取舍,通常比只背术语更像真实经验。

实际场景 ​

这些知识点在线上都属于高频基础能力。比如异步通知、批量导出、网络通信、对象复制和字符串拼接,几乎每个 Java 项目都会遇到。

努力工作 享受生活