Java23种设计模式之单例模式(饿汉式单例)

Java23种设计模式之单例模式(饿汉式单例)

第一次写博客,学习并记录一下,欢迎大佬指出问题!

单例模式

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

注意:

  • 1、单例类只能有一个实例。
  • 2、单例类必须自己创建自己的唯一实例。
  • 3、单例类必须给所有其他对象提供这一实例。

介绍采摘于: https://www.runoob.com/design-pattern/singleton-pattern.html

单例模式 - 饿汉式单例

程序启动单件模式类被加载的时候,单件模式实例就已经被创建。

public class HungryMan {

    // 一上来就创建对象;  static 在类一加载的时候 就在内存开辟空间 如果有很多常量所以会造成内存开销大
    // 类加载的方式是按需加载,且只加载一次。 也解释了为什么饿汉式单例天生线程安全。
    private static HungryMan hungryMan = new HungryMan();

    private HungryMan() {
    }

    public static HungryMan getInstance() {
        return hungryMan;
    }
}

class HungryManTest{

    public static void main(String[] args) {
        HungryMan hungryMan = HungryMan.getInstance();
        HungryMan hungryMan2 = HungryMan.getInstance();
        // 打印两个对象的hashCode(),如果一样则是一个对象
        System.out.println(hungryMan.hashCode());
        System.out.println(hungryMan2.hashCode());


    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值