如何理解单例模式----饿汉式?

饿汉式单例模式是一种单例设计模式的实现方式,它在类加载时就创建并初始化了单例对象,无需延迟加载。这种模式的优点是实现简单且线程安全,因为实例在类加载时就已经创建,不存在多线程竞争创建实例的问题。然而,它的缺点是如果单例对象的创建和初始化过程较为耗时,可能会导致应用程序启动时的延迟。此外,如果该单例对象并未被使用,也会造成资源的浪费。

public class SingleTon01 {

    public static void main(String[] args) {
//        GirlFriend xh = new GirlFriend("小红");
//        GirlFriend xb = new GirlFriend("小白");

        //通过方法可以获取对象
        GirlFriend instance = GirlFriend.getInstance();
        System.out.println(instance);

        GirlFriend instance2 = GirlFriend.getInstance();
        System.out.println(instance2);

        System.out.println(instance == instance2);//T
        


    }

}

//有一个类, GirlFriend
//只能有一个女朋友
class GirlFriend {

    private String name;
    //为了能够在静态方法中,返回 gf对象,需要将其修饰为static
    //對象,通常是重量級的對象, 餓漢式可能造成創建了對象,但是沒有使用.
    private static GirlFriend gf = new GirlFriend("小红红");

    //如何保障我们只能创建一个 GirlFriend 对象
    //步骤[单例模式-饿汉式]
    //1. 将构造器私有化
    //2. 在类的内部直接创建对象(该对象是static)
    //3. 提供一个公共的static方法,返回 gf对象
    private GirlFriend(String name) {
        System.out.println("構造器被調用.");
        this.name = name;
    }

    public static GirlFriend getInstance() {
        return gf;

    }

    }
}

相关推荐

  1. 如何理解模式----饿

    2024-01-17 20:42:03       33 阅读
  2. 饿模式

    2024-01-17 20:42:03       18 阅读
  3. 2_单列模式_饿模式

    2024-01-17 20:42:03       39 阅读
  4. 设计模式-模式饿

    2024-01-17 20:42:03       13 阅读
  5. C++设计模式模式饿、懒汉

    2024-01-17 20:42:03       40 阅读
  6. 模式---饿模式和懒汉模式

    2024-01-17 20:42:03       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-17 20:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-17 20:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-17 20:42:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-17 20:42:03       20 阅读

热门阅读

  1. PyTorch中的FX图

    2024-01-17 20:42:03       31 阅读
  2. 合并多个大语言模型文件的方法

    2024-01-17 20:42:03       36 阅读
  3. Docker 设置 Redis 的密码失效

    2024-01-17 20:42:03       24 阅读
  4. 为 Web3 项目撰写智能合约(Web3项目三实战之二)

    2024-01-17 20:42:03       33 阅读
  5. 【软件测试学习笔记4】HTML入门

    2024-01-17 20:42:03       34 阅读
  6. 手机常用的root方案

    2024-01-17 20:42:03       30 阅读
  7. iOS block以及变量捕获

    2024-01-17 20:42:03       33 阅读
  8. Python 实践——外星人入侵小游戏(上)

    2024-01-17 20:42:03       30 阅读
  9. C语言经典算法之归并排序算法

    2024-01-17 20:42:03       32 阅读
  10. ZooKeeper 应用场景深度解析

    2024-01-17 20:42:03       38 阅读
  11. 并发安全问题:挑战与解决方案

    2024-01-17 20:42:03       31 阅读