美文网首页
设计模式之单例设计模式

设计模式之单例设计模式

作者: MR_ChanHwang | 来源:发表于2020-03-21 13:34 被阅读0次

饿汉式

在静态代码块中直接加载进jvm;
缺点:一开始就会被加载进来。

懒汉式

在初始化时判断是否已经被初始化
缺陷:若多线程初始化则会被重复初始化

双重判断加同步锁

在INSTANCE上加voliate 防止代码重排序
避免在未初始化时就被引用

在同步代码块时加synchronized,保证一个线程可以获得锁并进行初始化;

静态内部类单例

避免使用了同步锁,通过jvm内部的机制保证了线程安全(类加载只能一次)

枚举单例

最完美的单例
可以防止反序列化
为什么可以防止反序列化?因为反序列化依赖于类的构造函数,而枚举单例不存在构造函数

相关文章

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • Android 设计模式之简单工厂模式

    设计模式系列文章 Android 设计模式之单例模式 Android 设计模式之Builder模式 Android...

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • JAVA设计模式之单例模式

    JAVA设计模式之单例模式

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 单例

    目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 设计模式

    常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。 单例...

  • iOS模式设计之--创建型:1、单例模式

    iOS模式设计之--1、单例模式

  • python 单例

    仅用学习参考 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计...

  • 设计模式之单例模式

    单例设计模式全解析 在学习设计模式时,单例设计模式应该是学习的第一个设计模式,单例设计模式也是“公认”最简单的设计...

网友评论

      本文标题:设计模式之单例设计模式

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