设计模式
设计模式:就是在实际编程过程中,总结出的解决问题的模板
单例设计模式
单例模式属于工厂模式的特例,可以保证某一种类型的对象在系统的唯一性,例如:在留言板界面要将留言写入数据库,每次都建立一个数据库连接对象就占用大量内存,可以采取使用同一个对象来进行解决。
单例设计模式:只有一个实例(实例化对象),即整个生命周期该类纸杯实例化一次
针对问题:new对象耗时耗内存较多,或new新对象意义不大
单例模式分为饿汉式和懒汉式
懒汉式和饿汉式区别:
懒汉式:直到第一个人调用才new,以后再有人调用getInstance方法直接返回之前第一次调用的对象(存在线程安全问题)
饿汉式:在类加载之后,还没有人调用的时候,就先创建一个对象,以后调用getInstance方法直接返回之前第一次调用的对象(是线程安全的,在创建类就创建好一个静态对象)。
例:
懒汉式代码
public class Single{
private Single(){}
private static Single single = null;
public static Single getInstance(){
if(single == null)
{
single = new Single();
}
return single;
}
}
饿汉式代码
public class Single{
private Single(){}
private static Single single = new Single();
public static Single getInstance(){
return single;
}
}