单例设计模式之懒汉式(静态内部类双重检查)

package com.waibizi.demo06;


public class Singleton_pattern {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Singleton test = Singleton.getInstance();
        Singleton test1 = Singleton.getInstance();
        System.out.println(test.hashCode());
        System.out.println(test1.hashCode());
    }

}
//静态内部类
@SuppressWarnings("all")
class Singleton{
    
    
    //构造器私有化
    private Singleton() {
        
    }
    
    //写一个静态内部类,该类有一个静态属性
    private static class SingletonInstance{
        private static final Singleton instance = new Singleton();
    }
    
    //双重安全检查,解决线程安全问题,解决懒加载问题
    //即懒汉式加载(线程安全)
    public static synchronized Singleton getInstance() {
        
        
        return SingletonInstance.instance;
    }
}

猜你喜欢

转载自www.cnblogs.com/waibizi/p/12084080.html