设计模式-单例模式
1.单例模式定义
单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点
2.单例模式特点
- 隐藏起所有的构造方法
- 属于创建型模式
3.单例模式的适用场景
确保任何情况下都绝对只有一个实例
ServletContext、ServletConfig、ApplicationContext、DBPool
4.单例模式的常见写法
- 饿汉式单例
package com.wuxk.pattern.singleton.hungry;
/**
* 单例模式-饿汉模式
*/
public class HungrySingleton {
private static final HungrySingleton hungrySingleton = new HungrySingleton();
//构造方法私有化
private HungrySingleton() {
}
//提供一个全局访问点
public static HungrySingleton getInstance() {
return hungrySingleton;
}
}
package com.wuxk.pattern.singleton.hungry;
/**
* 单例模式-饿汉模式
* 静态块实现
*/
public class HungryStaticSingleton {
private static final HungryStaticSingleton hungryStaticSingleton;
static {
hungryStaticSingleton = new HungryStaticSingleton();
}
private HungryStaticSingleton() {
}
public static HungryStaticSingleton getInstance() {
return hungryStaticSingleton;
}
}
- 懒汉式单例