来看这样一段代码,为什么一定要用volatile关键字修饰instance变量呢?
public class Singleton{ private static volatile Singleton instance; private Singleton(){ } public static Singleton getInstance(){ if(instance==null){ synchronized(Singleton.class){ if(instance==null){ instance=new Singleton(); } } } return instance; } } public c