美文网首页
单例模式之饿汉式VS懒汉式

单例模式之饿汉式VS懒汉式

作者: a半亩方塘 | 来源:发表于2021-05-24 14:17 被阅读0次

1. 什么是单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

2. 单例模式的两种实现

  • 2.1 饿汉式
/*
    单例模式-饿汉式
 */
class Hungry{
    //1.创建一个私有的空参构造器
    private Hungry(){
    }
    //2.声明一个私有对象并直接初始化
    private static Hungry instance = new Hungry();
    //3.创建一个公共方法来访问私有对象
    public static Hungry getInstance(){
        return instance;
    }

}
  • 2.2 懒汉式
/*
    单例模式-懒汉式
 */
class Lazy{
    //1.创建一个私有的空参构造器
    private Lazy(){
    }
    //2.声明一个私有对象,不初始化
    private static Lazy instance = null;
    //3.创建一个公共方法来访问私有对象
    public static Lazy getInstance(){
        if(instance == null){
            instance = new Lazy();
        }
        return instance;
    }
}

3. 两种模式的区别

  • 3.1 饿汉式
    1. 类被加载的时候就需要实例化对象,内存开销较大
    2. 天生就是线程安全的,可以直接用于多线程而不会出现问题
  • 3.2 懒汉式
    1.需要的时候才去实例化对象,相对来说不浪费内存
    2.本身是非线程安全的

相关文章

  • 单例(Singleton)

    单例设计模式 单例模式的创建 饿汉式1 饿汉式2 懒汉式 优化后的懒汉式(线程安全): 饿汉式与懒汉式区别 单例模...

  • 2018-05-14

    单利设计模式 懒汉式 单例模式 饿汉式 单利模式 懒汉式与饿汉式的区别: 双重锁式 单例模式 (DCL )

  • 单例模式Java篇

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

  • Singleton 单例模式

    饿汉式单例模式 饿汉式单例模式 通过静态代码块增加异常处理 懒汉式单例模式 存在线程安全问题 懒汉式单例模式 解决...

  • 单例模式

    单例,全局只有一个实例 单例模式可以分为懒汉式和饿汉式: 懒汉式单例模式:在类加载时不初始化。 饿汉式单例模式:在...

  • 大话设计模式之_单例模式

    大话设计模式之___单例模式 什么是单例模式单例模式有哪些(会顺带讲些懒汉式的性能优化)懒汉式与饿汉式的区别 什么...

  • 第3章 创建型模式-单例模式

    ■ 饿汉式单例类 ■ 懒汉式单例类 ■ 单例模式的实例

  • 单例模式的理解

    单例设计模式: 单例模式分为懒汉式和饿汉式。下面分别介绍懒汉式和饿汉式的几种写法。 饿汉式第一种(jdk1.5之前...

  • 05.单例模式(创建型)

    创建型模式-单例模式 一、饿汉式单利模式 饿汉式不需要考虑线程安全问题。 饿汉式比较浪费资源 二、懒汉式单例模式 ...

  • Kotlin 的单例模式

    Kotlin 的单例模式(5种) Kotlin 的5种单例模式: 饿汉式 懒汉式 线程安全的懒汉式 双重校验锁式 ...

网友评论

      本文标题:单例模式之饿汉式VS懒汉式

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