阻塞io读取数据的逻辑过程
节点流直接跟设备打交道,过滤流是对节点流的包装
类是通过继承来扩展,对象是通过装饰模式来扩展
装饰模式的代码示例
抽象构件角色:
具体构件角色:
抽象装饰角色:
然后我们去调用哪些方法
volatile定义变量的作用,当一个线程操作对象后,会自动刷线其他线程该变量的值,而且编译成字节码时,变量不会改变顺序:
即内存可见性和防止重排序
传统的io是面向流的,输入输出流,又分为节点流和和过滤流(其中用到大量的装饰设计模式,较少了大量的类,时期不会很臃肿)