首先来学习下英文全称方便记忆
BIO(BlockingIO) 顾名思义阻塞型IO
NIO(Non-blocking IO) 非阻塞型IO
AIO(AsynchronousIO)异步IO
然后说下我的理解
BIO既然是阻塞型IO那就是性能比较差的,因为它都阻塞了,能好到哪去,一般一个链接对应一个线程,如果我们有一万个用户 那就得开一万个线程 有个accept方法,就是阻塞的方法,举个例子就是服务端启动后等客户端链接,accept方法来等客户端连进来,并发量小的可以用这个,但是吧,面试不能这么说
NIO非阻塞型IO 这个一听就比较牛,他是同步非阻塞型IO 啥意思嘞,就是一个线程可以管理多个链接,它主要有三大核心组件 就是 channel、buffer、Selector这就不翻译了,主要就是用selector选择器来检测读写等操作的
AIO异步非阻塞型IO 操作异步不会阻塞线程,操作系统异步通知,当然是最牛的,主要是适用于超高并发低延迟,老板都喜欢这个
作者个人观点,有问题欢迎讨论,主要是我们面试该怎么回答!