单例模式三种实现
1. DCL双检验
public class A {
private static A sInsatnce =null;
private A(){}
public static A getInstance(){
if(sInstance==null){
synconized(A.class){
if(mInstance==null) mInstance = new A();
}
}
return sInstacne;
}
}
2.静态内部类
public class A{
private A(){}
public static A getInstance(){
return AHolder.sInstance
}
//在外部类加载的时候,静态内部类不会被加载,直到A中的方法getInstance()调用
private static class AHolder{
private static final sInstance =new A()
}
}
3.枚举单例
public enum SingletonEnum{
INSTANCE;
}
本文深入探讨了单例模式的三种实现方式:双重检查锁定(DCL)、静态内部类及枚举单例,提供了详细的代码示例,帮助读者理解并掌握单例模式在不同场景下的应用。
1737

被折叠的 条评论
为什么被折叠?



