饿汉式
- 静态成员变量随着类的加载而加载,所以只有一个实例推荐用这种方式
public class SingletonPattern {
private static final SingletonPattern singletonPattern= new
SingletonPattern();
//限制住不能直接产生一个实例
private SingletonPattern(){
}
public synchronized static SingletonPattern getInstance(){
return singletonPattern;
}
}
懒汉式
- 可以实现懒加载
- 多线程不安全 ,衍生的有双重锁单例
public class SingletonPattern {
private static SingletonPattern singletonPattern= null;
//限制住不能直接产生一个实例
private SingletonPattern(){
}
public SingletonPattern getInstance(){
if(this.singletonPattern == null){ //如果还没有实例,则创建一个
this.singletonPattern = new SingletonPattern();
return this.singletonPattern;
}
}
24种设计模式与6大原则.pdf
链接:https://pan.baidu.com/s/1I9AhTN-nnC23s9QF0-He2A
提取码:2yf4