IO复用与DefaultSelector的使用


前言

UXNIX系统中,I/O操作分两个阶段:

  • 第一阶段:用户进程等待内核把数据准备好
  • 第二阶段:用户进程从内核中拷贝数据

根据对两个阶段的不同处理,由此划分出五个I/O模型,分别是:

  • 阻塞式I/O
  • 非阻塞式I/O
  • I/O复用
  • 信号驱动式I/O
  • 异步I/O

五种模型的区别,可见图解UNIX的I/O模型。此文清晰明朗,极易理解。


Bridge桥接模式


前言

关于桥接模式我有以下几个问题想问:

  • 什么是桥接模式?
  • 为什么需要桥接模式(也就是什么情况下使用桥接模式)?
  • 桥接模式的优点是什么?
  • 桥接模式的缺点是什么?

桥接模式与装饰模式很相似,然而,桥接模式主要是为了应对“多维度变化”。同时,桥接模式的使用场景存在一定的局限性。


Decorator装饰模式


前言

关于装饰模式我有以下几个问题想问:

  • 什么是装饰模式?
  • 为什么需要装饰模式(也就是什么情况下使用装饰模式)?
  • 装饰模式的优点是什么?
  • 装饰模式的缺点是什么?

我想通过回答上面四个问题,揭开装饰模式的面纱。