/*单例模式,singleton,保证一个类仅有一个实例,并提供一个访问它的全局访问点*/
public class Singleton {
//声明一个私有的静态类对象
private volatile static Singleton singleton;
//构造函数私有,不能在类的外部创建新的对象
private Singleton(){};
//为创建新的对象提供一个对外的公共接口
public static Singleton getSingleton(){
//因为同步的代价比较大所以要加这个判断,singleton为空才同步,不轻易同步
if (singleton == null){
synchronized(Singleton.class){
//如果同步多个线程,只能为一个线程创建新的实例
if (singleton == null)
singleton = new Singleton();
}
}
return singleton;
}
}
单例模式singleton
最新推荐文章于 2024-05-07 17:33:22 发布