
介绍
- BIO,面向流,只能读或者只能写,阻塞IO
- NIO,面向缓冲区,可以同时进行读写,非阻塞IO

整个BIO的继承关系如上图,每种流只能写或者读,整个BIO流的设计用了装饰者模式,如果你不清楚的话,可以看《面试官:说一下装饰者模式的作用,以及哪些地方用到了装饰者模式吧》,本文不再介绍

NIO涉及到的api主要为Buffer Channel Selector。Buffer可以用来存储和读取数据,Channel是网络通道,Selector主要用来监听事件的发生。后续的内容会简单介绍一下三者是如何协同工作的。
用例子类别一下
BIO:排队打饭
NIO:点餐等待被叫
api的使用我就不演示了,分析一下他们背后的开发模式
本文介绍了BIO(面向流,阻塞IO)和NIO(面向缓冲区,非阻塞IO)的主要区别,并详细阐述了Reactor模式的三种实现:单Reactor单线程、单Reactor多线程以及主从Reactor多线程,分析了各自的优缺点。在NIO框架Netty中,可以根据需求灵活切换这些模式。
订阅专栏 解锁全文
1462

被折叠的 条评论
为什么被折叠?



