什么是单例设计模式:在应用程序中,只能存在某类的一个实例对象
1)分类:
1 懒汉式
b)私有的构造方法(不允许外界创建该类对象)
c)public static 该类类型 getInstance(){ (向外界提供了访问该类对象的方法)
}
public class TransRecordManager{
private static TransRecordManager manager;
private TransRecordManager(){}
public static TransRecordManager getInstance(){
if(manager==null){
manager = new TransRecordManager();
}
return manager;
}
}
2 饿汉式
public class TransRecordManager{
private static TransRecordManager manager= new TransRecordManager();
private TransRecordManager(){}
public static TransRecordManager getInstance(){
return manager;
}
}
3)饿汉和懒汉的区别?
3.1)懒汉式:默认变量是null,只有当需要对象时,
才判断对象是否存在,如果不存在则创建。
并发访问操作时,是线程不安全的。--》(如何解决?可以在方法头加锁,实现同步synchronized)
3.2)饿汉式:默认变量中就装载该类对象
是线程安全的。