单例模式:是32种设计模式的一种,它保证了某个类在程序中只存在唯一一份实例,二不会创建出多个实例。
安全的单例模式的实现:
//单线程版
class Singleton{
//懒汉模式,类加载的时候不创建实例,在第一次类使用的时候才能创建实例
private static Singleton instance=null;
private Singleton(){};
//加synchronized改善线程安全问题
public synchronized static Singleton getInstance(){
if(instance==null){
instance = new Singleton();
}
return instance;
}
}
//多线程版
class Multi{
//双重校验锁改善线程安全问题
private static volatile Multi instance=null;
private Multi(){};
public static Multi getInstance(){
if(instance==null){
synchronized (Multi.class){
if(instance==null){
instance = new Multi();
}
}
}
return instance;
}
}



