问题 双重校验锁实现的单例,已经使用了synchronized,为什么还需要volatile? public class Singleton { private volatile static Singleton singleton; private Singleton (){ } public static Singleton getSingleton() { if (singleton == null) { synchr