##单列模式中的多线程问题 1) 饿汉式 代码: 问题: 饿汉式主要问题在于不适用该单列其实列也被创建了,这样会浪费内存资源 2)懒汉式 代码: 问题:因为if判断这里引入了多线程问题,此时单列可能会出现多列 3)懒汉式–同步 代码: 问题: 虽然在方法上面加了同步代码块解决了线程安全问题,但这样在多线程情况下存在性能问题 4)双重检测机制 代码: 问题: 此处虽然解决了性能问题,但是这样的写法在指令重排序中会存在空指针异常 解决:加入volatile关键字解决 5)优雅的饿汉式 6)枚举方式实现