设计模式-单例模式
单例模式主要用于对象的创建,而且要确保该类所创建的对象是唯一的。
单例模式有两种实现方法:
- 饿汉式
- 懒汉式
饿汉式
在该类加载的时候就创建出对象,无论是否调用创建对象的方法,这种容易造成资源的浪费
public class SingleDemo1 {
/**
* 将构造器私有化 防止该对象被外部创建
*/
private SingleDemo1() {
}
/**
* 在该类内部创建一个对象 并私有化
*/
private static SingleDemo1 singleDemo1 = new SingleDemo1();
/**
* 创建一个对外的接口,把创建的对象返回出去
* @return
*/
public static SingleDemo1 getInstance(){
return singleDemo1;
}
}
懒汉式
在调用对象创建的方法时,对象才被创建,但是线程不安全
public class SingleDemo1 {
/**
* 将构造器私有化 防止该对象被外部创建
*/
private SingleDemo1() {
}
/**
* 在该类内部创建一个空对象
*/
private static SingleDemo1 singleDemo1 = null;
/**
* 当该方法被调用的时候会去判断对象是否为null,若是创建一个
* 返回出去,若不是,就把原来的对象返回出去,确保对象唯一
* @return
*/
public static SingleDemo1 getInstance(){
if (singleDemo1==null){
singleDemo1 = new SingleDemo1();
}
return singleDemo1;
}
}
目前学习到这么多,后续学习会再来完善