设计模式

单例模式

  1. 饿汉式:无法延迟加载
  2. 懒汉模式:线程安全

synchronized

  1. DCL:会被指令重排序 volilate 修饰单例
  1. 内部类:

jvm 在类加载时保证数据同步
内部类不会被使用,静态方法在第一次被调用的时候才会加载静态内部类

利用 jvm 本身机制
static 内存中独一份
final 线程安全(无法修改)

性能优越 线程安全 延迟加载

  1. 枚举:线程安全

android 中的应用

Application 单例 作为工具类的全局上下文

Builder模式

创建复杂对象,将组成部分和创建分开来。

  1. 场景

当构造一个对象需要很多参数,并且构造参数的个数不固定。

你可能感兴趣的:(设计模式)