2020-07-31

双检索的第一个判断对象是否是null 是为了防止已经创建对象了 还进去同步代码块 第二个同步里面的判断null 是为了 多线程抢占时 避免创建重复对象 双检索加volatile 是为了 防止 指令重排 造成的 对象不完整。

你可能感兴趣的:(笔记)