Java设计模式之单例模式视频课程,梦豆学院java,一、概述
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。
这种类型的设计模式属于对象创建型模式
作用:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
二、理解
某些类创建对象是非常耗时耗内存和复杂的,这种类创建的对象我们称之为重量级对象(反之,轻量级对象)
如果需要使用重量级类,一般把这个类设计为单例对象模式,好处有:
1)保证对象在内存仅有一个,减少内存开销
2)使用者不用考虑创建细节,使用方便
3)可以控制对象的创建时刻
代码实现的关键点:
1)这个类在整个JVM中仅有一个对象实例
对象的创建方式有:
a)new
b)反射(reflect)
c)反序列化(deserialize) --不实现Serializable接口或者
三、实现代码
1)饿汉式
-立即创建
-线程安全
-没有延迟加载
2)懒汉式
-延迟创建
-线程不安全
3)加锁的懒汉式
-延迟加载
-线程安全
-同步情况下效率低
4)双重验证式懒汉式
-延迟加载
-线程安全
-同步情况下效率高
-实现复杂
5)类加载方式
-延迟加载
-线程安全
-同步情况下效率高
-实现简单
-不能防止反序列化
6)枚举实现
-立即加载
-线程安全
-实现简单
-防止反序列化 适用人群:Java高级工程师,Java高级程序员,Java架构师