1:单例模式:
保证一个类中只有一个实例,并提供一个访问它的实例的方法。
class Singleton{
private Singleton(){}; //私有方法
private static Singleton instance=null; //将类的实例定义为静态的
public Singleton getInstanSingleton(){
if(instance==null){ //因为同步是费时间的,所以先判断是否为空,再同步
synchronized (Singleton.class) { //同步的是Singleton的class对象;
if(instance==null){ //因为前面同步的原因,多线程下有可能其他的线程已经创建了实例,所以这个时候还必须再次判断!
instance=new Singleton();
}
}
}
return instance;
}
}
原文:http://blog.csdn.net/shiyeqiangldh/article/details/39694639