双重检验的单例模式是比较推荐的单例写法,在该代码中的单例对象的是用volatile关键字修饰的。这时就产生的一个疑问,为什么需要volatile来修饰呢? 上网查看多个博客,下面简单通俗分析一下当中的原因: 贴上不加volatile单例代码 public class Singleton { private static Singleton s; private Singleton(){ }; public static Singleton getInstance