前言
使用设计模式是为了重复使用代码,让代码更容易被他人理解,保证代码的可靠性
什么是设计模式
设计模式是一套被反复使用的,多数人知晓的,经过分类编目的,代码设计经验总结
使用场景
有些对象我们只需要一个,比如:配置文件,工具类,线程池,缓存,日志对象等等,自这些场景中可以使用单例模式来实现。
具体实现
- 懒汉模式
//懒汉模式
public class Singleton2 {
// 私有化构造器 不可再外部直接创建对象
private Singleton2() {
}
// 创建唯一的实例 使用private static 修饰
private static Singleton2 instance;
// 提供一个用于获取实例的方法
public static Singleton2 getInstance() {
if (instance == null) {
instance = new Singleton2();
}
return instance;
}
}
- 饿汉模式
// 饿汉模式
public class Singleton {
//将构造方法私有化 不可以外部直接创建对象
private Singleton() {
}
//创建唯一的实例 使用private static 类的静态成员
private static Singleton instance = new Singleton();
//提供一个用于获取实例的方法
public static Singleton getInstance() {
return instance;
}
}
两者比较
饿汉模式 加载的时候比较慢 运行时获取对象比较快 懒汉模式 加载类的时候快 运行的时候比较慢