【文件属性】:
文件名称:DesignPattern:Java设计模式
文件大小:6.19MB
文件格式:ZIP
更新时间:2021-05-01 23:19:57
Java
设计模式
说明
保证整个应用中某个实例只有一个,需考虑多线程的情形。
根据不同的实现方式分成懒汉模式、饿汉模式、枚举和内部静态类。
补充说明 synchronized,详见
单例模式
多线程时是否重复创建单例对象
加载类的速度
运行时获取对象的速度
线程安全
代码链接
适用情形
其它
懒汉模式
会
快
慢
否
某个单例用的次数不是很多,但是这个单例提供的功能又非常复杂,而且加载和初始化要消耗大量的资源
与其用懒汉模式不如直接用内部静态类
懒汉模式-双重校验锁
否
快
慢
是
同上
同上
内部静态类
否
快
慢
是
同上
只要应用中不使用内部类 JVM 就不会去加载这个单例类,也就不会创建单例对象,从而实现懒汉式的延迟加载和线程安全。
饿汉模式
否
慢
快
是
单例对象初始化非常快,而且占用内存非常小的时候这种方式是比较合适的,可以直接在应用启动时加载并初始化
--
枚举
否
慢
快
是
-