定义

保证一个类仅有一个实例,并提供一个全局访问点

类型:创建型

适用场景

想确保任何情況下都绝对只有一个实例

优缺点

  • 优点
    • 在内存里只有一个实例,减少了内存开销
    • 可以避免对资源的多重占用
    • 设置全局访问点,严格控制访问
  • 缺点
    • 没有接口,扩展困难

重点

  1. 私有构造器
  2. 线程安全
  3. 延迟加载
  4. 序列化和反序列化安全
  5. 反射

双重检查锁

image.png

image.png

实用技能

  • 反编译
  • 内存原理
  • 多线程 Debug

相关设计模式

  • 单例模式和工厂模式
  • 单例模式和享元模式