单例模式
单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”
Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”
特点:
- 1、单例类只能有一个实例。
- 2、单例类必须自己创建自己的唯一实例。
- 3、单例类必须给所有其他对象提供这一实例。
Java中简单的单例模式(不牵扯并发)注:这个是预加载,如果懒加载的话可以直接声明变量的时候创建对象。
/**
* 加锁后的,单例模式类
* @author wanghao
*
*/
class SinglePattern{
private static SinglePattern instance ;
//1.构造方法私有化
private SinglePattern() {
}
//2.提供一个全局访问点 加锁后
public static synchronized SinglePattern getInstance() {
if(instance == null) {
instance = new SinglePattern();
}
return instance;
}
}
/**
* 加锁后的,单例模式类 +优化后
* @author wanghao
*
*/
class SinglePattern{
private static SinglePattern instance ;
//1.构造方法私有化
private SinglePattern() {
}
//2.提供一个全局访问点 加锁后
public static SinglePattern getInstance() {
if(instance == null) {
synchronized(SinglePattern.class) {
if(instance == null) {
instance = new SinglePattern();
}
}
}
return instance;
}
}

浙公网安备 33010602011771号