单例设计模式,顾名思义,是指这个类里面只能有一个实例化对象,所有外部类想访问他那么都只能访问这个对象
其饿汉式设计代码如下:
class single{
private single();
public static final single getInstance(){
single s =new single();
}
其懒汉式设计代码如下;
class single{
private static single s=null;
private single(); //将构造函数私有化,杜绝外部实例化此类对象//
public static single getInstance(){
if(s==null){
synchronized(single.class){ //锁死进入的线程,防止线程挂掉后执行第二次操作//
if(s==null)
s=new single();
}
}
return s;
}
}
其中single.class指的是申明了这是个对象,因为synchronized()里面要传对象(随便一个对象),
懒汉式单例设计的优点很明显,就是让多线程调用它的时候保证程序的安全性,保证一个线程进来之后不会因为挂掉而让
其多次调用实例化对象的语句,而利用两次判断可以保证程序的高效性,因为,多次调用这个类的getInstance方法,也只有第一次
和第二次需要进入锁中。