编译时异常也称未雨绸缪异常
运行时异常往往是代码错误,需要修改代码
装饰设计模式好处是耦合性不强,被装饰的类变化与装饰类的变化无关
synchronized(){} 同步代码块,锁对象任意但必须是同一个,但不能是匿名对象