单例设计模式 Single
1.1 饿汉式
单例模式:保证一个类只有一个实例,提供一个全局访问点
适用场景:需要共享资源,比如配置对象、连接池、日志对象
public class A {
private static final A INSTANCE = new A();
private A(){
//构造函数私有化,外部就没办法创建新的实例
}
public static A getInstance(){
return INSTANCE;
}
}
1.2 懒汉式
线程不安全
public class B {
private static B INSTANCE = null;
private B(){
//私有化构造方法,外部无法新建实例
}
public static B getINSTANCE(){
if (INSTANCE == null){
INSTANCE = new B();
}
return INSTANCE;
}
}
1.3 双重检查锁(是懒汉式的一种)
线程安全
public class B {
private static volatile B INSTANCE = null;
private B(){
//私有化构造方法,外部无法新建实例
}
public static B getINSTANCE(){
if (INSTANCE == null){
synchronized (B.class){
if (INSTANCE == null){
INSTANCE = new B();
}
}
}
return INSTANCE;
}
}
THE END

暂无评论内容