//线程安全且加了同步锁

public class Singleton {   

 private volatile static Singleton singleton; 
    
    public Singleton() {

    }    

    
    public static  Singleton getInstance() {   
         
        if (singleton == null) {
        
            synchronized (Singleton.class) {   
        
                        
                 if (singleton == null) {
                 
                    singleton = new Singleton();
                }
            }
        }       
                 
        return singleton;
    }
}



来自: http://blog.csdn.net/zxw136511485/article/details/51682927