三种单例模式的实现

1.单例模式

public class Singleton{
    private volatile static Singleton instance;
    
    private Singleton(){}

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

2.静态内部类实现一个单例模式

public class Singleton{
	private Singleton(){}

	private static class InstanceHolder{
		private static final Singleton INSTANCE =
										 new Singleton();
	}
	public static Singleton getInstance(){
		return InstanceHolder.INSTANCE;
	}
}

3.枚举实现一个单例模式

public enum TestEnum{
	INSTANCE;
	public static TestEnum getInstance(){
		return INSTANCE;
	}
}
发布了27 篇原创文章 · 获赞 4 · 访问量 1031

猜你喜欢

转载自blog.csdn.net/Lb_CsdnJava/article/details/104336149