美文网首页
单例模式 -- 饿汉式

单例模式 -- 饿汉式

作者: wbpailxt | 来源:发表于2019-11-24 18:21 被阅读0次

在类加载的时候就完成实例化

package com.geely.design.pattern.creational.singleton;

/**
 * Created by geely
 */
public class HungrySingleton {
    // 准备阶段会被分配内存,但不会被赋予null值,在初始化阶段被初始化。
    private final static HungrySingleton hungrySingleton;

    static{
        hungrySingleton = new HungrySingleton();
    }
    
    public static HungrySingleton getInstance(){
        return hungrySingleton;
    }

    private HungrySingleton(){
        if(hungrySingleton != null){
            throw new RuntimeException("单例构造器禁止反射调用");
        }
    }
}

这个就是非常简单的饿汉式单例模式,优点就是写法简单,类加载的时候就完成了初始化,避免了多线程同步问题(因为有Class对象的初始化锁)。缺点是在类加载的时候就完成初始化,没有延迟加载的效果。如果这个类系统从始至终都没有用过还会造成内存的浪费。

相关文章

  • 单例(Singleton)

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

  • Singleton 单例模式

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

  • 2018-05-14

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

  • 单例模式Kotlin篇

    单例模式Java篇 单例模式 - 饿汉式/** * * @Description 饿汉式-定义一个object对象...

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

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

  • 单例模式

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

  • 单例模式Java篇

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

  • 单例模式

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

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

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

  • 单例模式在源码中的使用

    饿汉式: 容器单例模式:

网友评论

      本文标题:单例模式 -- 饿汉式

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