单例模式
建议实现方式:枚举方式实现单例
单例模式的定义
单例模式就是在程序运行中只实例化一次,创建一个全局唯一对象,有点像 Java 的静态变量,但是单例模式要优于静态变量,静态变量在程序启动的时候JVM就会进行加载,如果不使用,会造成大量的资源浪费,单例模式能够实现懒加载,能够在使用实例的时候才去创建实例。开发工具类库中的很多工具类都应用了单例模式,比例线程池、缓存、日志对象等,它们都只需要创建一个对象,如果创建多份实例,可能会带来不可预知的问题,比如资源的浪费、结果处理不一致等问题。
7种实现方式
- 懒汉模式,线程不安全
- 懒汉模式,线程安全
- 饿汉模式
- 饿汉模式变种
- 静态内部类模式
- 枚举类模式
- 双重检查锁模式
类在加载的时候,就会加载类里面的静态变量(即为静态变量分配内存空间),这样在类被实例化时,就可以直接使用,加快速度。
类在每次实例化时,调用对应的构造方法,完成类成员变量里的非静态变量的初始化,分配相应的内存空间
参考: