美文网首页
单例模式(饿汉式之静态创建)

单例模式(饿汉式之静态创建)

作者: bin丶 | 来源:发表于2020-11-28 19:06 被阅读0次


以下方式均不推荐开发使用,仅供学习
package singleton;

/**
 * 饿汉式(静态常量)
 */
public class Singleton_1 {
    // 1. 私有化构造器
    private Singleton_1() {}

    // 2. 本类内部创建静态常量型实例
    private final static Singleton_1 instance = new Singleton_1();

    // 3. 对外提供公有的获取实例方法
    public static Singleton_1 getInstance() {
        return instance;
    }
}
package singleton;

/**
 * 饿汉式(静态代码块)
 */
public class Singleton_2 {

    // 1. 私有化构造器
    private Singleton_2() {}

    // 2. 静态变量
    private static Singleton_2 instance;

    static {
        instance = new Singleton_2();
    }

    // 3. 对外提供公有的获取实例方法
    public static Singleton_2 getInstance() {
        return instance;
    }
}

优点

  • 实现简单,避免了线程同步问题

缺点

  • 在类装载时就完成了实例化,达不到懒加载(lazy loding)的效果,如果这个类从始至终都没有使用过,将会造成内存浪费

两种创建方法优缺点一致

相关文章

  • Singleton 单例模式

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

  • 单例(Singleton)

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

  • 单例模式

    常见的单例模式有哪几种 最常见的有四种,饿汉式、双重检测懒汉式、静态内部类、枚举 饿汉式单例模式是什么 饿汉式单例...

  • Java 单例模式

    什么是单例模式? 单例模式即一个类在程序中永远只有一个实例。 单例的写法。 饿汉式(静态常量) 饿汉式(静态代码块...

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

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

  • Java设计模式一--单例模式

    一、单例模式单例模式主要分为饿汉式、懒汉式(非线程安全、线程安全、双重检查)、静态内部类、枚举。1.饿汉式 2.懒...

  • 单例模式(饿汉式之静态创建)

    优点 实现简单,避免了线程同步问题 缺点 在类装载时就完成了实例化,达不到懒加载(lazy loding)的效果,...

  • Glide 源码分析(Version_3.7.0)

    使用方式 with(activity) 使用饿汉式单例模式创建 RequestManagerRetriever /...

  • 单例设计模式

    单例设计模式 单例设计模式介绍 单例设计模式的八种方法2.1 饿汉式(静态常量)2.1.1 实现步骤2.1.2 代...

  • 单例模式的八种写法比较

    单例模式的八种写法比较 1、饿汉式(静态常量)[可用] 2、饿汉式(静态代码块)[可用] 3、懒汉式(线程不安全)...

网友评论

      本文标题:单例模式(饿汉式之静态创建)

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