核心作用:
-保证一个类只有一个实例,并且提供一个访问该实例的全局访问点
电脑的管理器,一旦创建一个一个任务管理器,再去创建还是原来的。
一、单例模式:饿汉式。
饿汉式:不管创建多少个对象都是同一个对象
二、懒汉式:具有延时加载。加入同步,调用效率低。
三、双重检测锁:由于编译器优化和JVM底层内部模型会有问题,偶尔会出问题
不建议使用。
四:静态内部类模式
优点:1线程安全,2调用效率高,3具有懒加载
/**
* 外部类没有static属性,不会像饿汉式那样立即加载对象
* 只有真正的调用getInstance(),才会加载静态内部类加载雷士是线程安全,instance
*是static final类型保证了内存中只有一个这样的实例,而且只能被赋值一次,从而保证了线程安全
*兼备了并发高效调用和延时加载的优势。
* */
五、枚举式单例模式
枚举元素本身就是一个单例,线程安全,
可天然的防止反射和反序列化的漏洞
但不具有延时加载
测试时间: