美文网首页
单例模式(八)—单例模式总结

单例模式(八)—单例模式总结

作者: 奔跑的佩恩 | 来源:发表于2022-07-24 23:14 被阅读0次

    前言

    在之前的文章,我们已经讲过了单例模式的各种实现,大家有兴趣的可参考以下文章:
    单例模式(一)—懒汉模式
    单例模式(二)—懒汉模式(线程安全模式)
    单例模式(三)—饿汉模式
    单例模式(四)—懒汉双锁模式
    单例模式(五)—饿汉静态块模式
    单例模式(六)—静态内部类模式
    单例模式(七)—枚举模式
    今天让我们对单例模式的各种实现方式做一个总结, 涉及内容有:

    1. 单例模式实现的方式种类
    2. 单例模式各种方式实现的共性
    3. 各种实现方式对比

    一. 单例模式实现的方式种类

    我们实现单例模式的方式总体来说有七种,分别是两种饿汉模式,三种懒汉模式,一种静态内部类方式和一种枚举实现方式,具体如下:

    • 懒汉模式
    • 懒汉同步锁模式
    • 懒汉双锁同步+Volatile 模式
    • 饿汉模式
    • 饿汉静态块模式
    • 静态内部类模式
    • 枚举模式

    二. 单例模式各种方式实现的共性

    单例模式各种实现方式有以下共性:

    1. 都要写private无参构造函数
    2. 都要提供一个获取该类对象的方法
    3. 都会涉及到内存占用与线程安全的问题

    三. 各种实现方式对比

    单例模式实现方式 延迟加载 线程安全 性能 实现难度
    懒汉模式 一般 一般
    懒汉同步锁模式 一般
    懒汉双锁同步+Volatile 模式 一般
    饿汉模式 一般 一般
    饿汉静态块模式 一般 一般
    静态内部类模式 一般 一般
    枚举模式 一般

    ok, 今天关于单例模式各种实现方式的对比与总结就介绍到这里了,谢谢大家。

    相关文章

      网友评论

          本文标题:单例模式(八)—单例模式总结

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