DoubleCheckedLockExample 在Java多线程程序中,有时候需要采用延迟初始化来降低初始化类和创建对象的开销.双重检查锁定是常见的延迟初始化技术,但它其实是一个错误的用法.本例子提供两种线程安全的延迟初始化方案作为参考.