设计模式-单例模式(枚举)

1. 概念

  • 保证一个类只有一个实例
  • 并为该实例提供一个全局唯一的访问节点

2. 枚举

2.1 代码示例

示例
java 复制代码
public enum Singleton08 {
    INSTANCE;

    public void sendOk(){
        System.out.println("send ok");
    }
}
java 复制代码
public class SingletonTest08 {
    public static void main(String[] args) {
        Singleton08 instance = Singleton08.INSTANCE;
        Singleton08 instance1 = Singleton08.INSTANCE;
        System.out.println(instance == instance1);
        System.out.println("instance.hashCode= " + instance.hashCode());
        System.out.println("instance1.hashCode= " + instance1.hashCode());
        instance.sendOk();
    }
}

2.2 优缺点

  1. 这借助JDK1.5中添加的枚举来实现单例模式。不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象。
  2. 这种方式是Effective Java作者Josh Bloch提倡的方式

2.3 结论

  • 在实际开发中,推荐使用这种单例设计模式。

相关推荐
How_doyou_do4 小时前
常见的设计模式
前端·javascript·设计模式
alibli4 小时前
深度理解设计模式——概述,SOLID原则
设计模式
AM越.7 小时前
Java设计模式超详解--观察者设计模式
java·开发语言·设计模式
ezreal_pan7 小时前
基于券类型路由的渐进式重构:函数式选项模式与管道模式的完美结合
设计模式·重构·golang·选项函数
有一个好名字7 小时前
设计模式-单例模式
java·单例模式·设计模式
SmoothSailingT7 小时前
C#——Lazy<T>懒加载机制
开发语言·单例模式·c#·懒加载
赵得C8 小时前
2025下半年软件设计师考前几页纸
java·开发语言·分布式·设计模式·性能优化·软考·软件设计师
alibli8 小时前
Alibli深度理解设计模式系列教程
c++·设计模式
老朱佩琪!9 小时前
Unity迭代器模式
unity·设计模式·迭代器模式
是2的10次方啊10 小时前
🎭 程序员的一天:12种设计模式藏在你身边
设计模式