1. 单例设计模式介绍
使用双端检索的方法
1. 单例设计模式介绍单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法(静态方法)。
使用双端检索的方法既能解决线程安全的问题,同时解决懒加载问题,同时保证了效率。
public class Person {
//懒汉、饿汉
private volatile static Person instance; //饿汉
//构造器私有,外部不能实例化
private Person() {}
//提供给外部的方法
public static Person guiguBoss() {
//如果没有再去创建
if (instance == null) {
synchronized (Person.class) {
if(instance == null){
instance = new Person();
}
}
}
return instance;
}
}
优缺点说明:
- Double-Check 概念是多线程开发中常使用到的,如代码中所示,我们进行了两次 if (singleton = = null)检查,这 样就可以保证线程安全了。这样,实例化代码只用执行一次,后面再次访问时,判断 if (singleton = = null),直接 return 实例化对象,也避 免的反复进行方法同步.线程安全;延迟加载;效率较高



