美文网首页
单列模式

单列模式

作者: 小动乾坤 | 来源:发表于2024-02-27 18:15 被阅读0次
单列模式思维导图

定义:在运行时数据区里面,指定类A的实列对象有且只能有一个

提示:饿汉式和懒汉式的区分标准:目标类A要设计为单列,类A加载的时候实列对象就创建了,饿汉式,需要类A进行相应的方法调用才才创建对象,懒汉式

饿汉式:类加载时创建实列对象

静态代码块写法

组合静态成员变量写法

优点:通过类加载过程规避并发问题

缺点:类加载和类的对象使用并不是绑定在一起的,类加载的时候初始化实列对象,后续如果用不上,本质就是出现了内存内存泄漏问题

懒汉式:实列获取方法调用时才有机会触发对象的创建过程

线程安全的写法但推荐使用的写法

双重检查写法 静态内部类写法

静态内部类写法代码特征:

1.单列目标类A构造方法私有化

2.类A内嵌一个类B,B静态组合类A

3.类A提供方法,这个方法直接访问类B静态组合的成员变量A的实列对象

类A加载时单列对象未实列化,类A方法调用时触发内部类B加载,B加载规避并发问题并初始化实列对象

枚举:还能防止反序列化重新创建新的对象

线程安全但不推荐使用的写法

同步方法-并发吞吐量不优秀

非线程安全的写法只能单线程下使用

暴力判断对象是否创建过,没有创建的话创建并返回,不做任何并发处理

相关文章

  • 单列模式

    单列模式必须用到__new__方法 一定要有返回值 一定要写上超级父类 然后加上cls

  • 单列模式

    1、什么是单列模式 单列模式(Singleton)保证一个类仅有一个实例,并提供一个访问的全局访问点,这种类型的设...

  • 单列模式

    饿汉模式(类加载,静态方法创造): 类加载慢,获取对象快,线程安全。 public class Singleton...

  • 单列模式

    特点 每个类只有一个实例自身实例化 实例

  • 单列模式

    1.思想:一个类只能实例化一个对象。 2.实现:私有化构造方法 3.应用:比如我们电脑上的应用,已经打开一个了,在...

  • 单列模式

    一:单列模式的定义 确保某个类只有一个实例。 二:线程安全 说起单列模式,不得不提线程安全,那么什么是线程安全?我...

  • 单列模式

    单例模式能够确保指定类只有一个实例,并且全局可以访问到该实例 2:避免无休止的开辟和销毁内存空间 单例也不能够滥用...

  • JAVA单例模式

    设计模式大题分为创建性模式,结构型模式,行为性模式 这节主要讲解单列模式,单列模式有以下八种创建方法:1.饿汉式(...

  • 设计模式-单列模式

    特点 优点 适用场景 具体实现

  • 设计模式--单列模式

    单列模式保证系统中一个类只有一个实例。即一个类只有一个对象实例。特点:1.一个类只能有一个对象;2.必须是自行创建...

网友评论

      本文标题:单列模式

      本文链接:https://www.haomeiwen.com/subject/ukfzadtx.html