单例模式
1、在当前系统中,某个类型的对象,最多只能有一个,就需要使用单例设计模式
2、几种格式
//老汉式
classWeekDay1{//1.构造方法私有化
privateWeekDay1() {}//2.创建静态常量对象
public static final WeekDay1 MON = newWeekDay1();
}//饿汉式
classWeekDay2{//1.构造方法私有化
privateWeekDay2() {}//2.创建本类静态私有对象
private static WeekDay2 Mon = newWeekDay2();//3.对外提供私有对象的访问
public staticWeekDay2 getInstance() {returnMon;
}
}//懒汉式
classWeekDay3
{//1.构造方法私有化
privateWeekDay3(){}//2.声明本类私有对象
private staticWeekDay3 Mon;//3.判断并创建对象
public staticWeekDay3 getInstance(){if(Mon==null){
Mon= newWeekDay3();
}returnMon;
}
}
3、问题:单例模式会不会产生线程安全问题?如何解决?会不会影响效率?如何提升效率?
单例模式的懒汉式会产生线程安全问题,可以使用同步代码块解决,效率问题看下面代码
classWeekDay3
{//