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

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 结论

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

相关推荐
We་ct13 小时前
JS手撕:函数进阶 & 设计模式解析
开发语言·前端·javascript·设计模式·面试·前端框架
A.A呐13 小时前
【C++第二十八章】单例模式
c++·单例模式
冷小鱼14 小时前
设计模式全景指南:23种模式深度解析与Python实现
设计模式
楼田莉子15 小时前
设计模式:创建型设计模式简介
服务器·开发语言·c++·设计模式
UrSpecial15 小时前
设计模式:观察者模式
观察者模式·设计模式
zhaoshuzhaoshu15 小时前
设计模式之结构型设计模式详解
python·设计模式
倒流时光三十年15 小时前
重学设计模式 之 流式 Builder 模式(Fluent Builder)
设计模式·流式 builder·fluent builder
IT枫斗者15 小时前
AI Agent 设计模式全景解析:从单体智能到分布式协作的架构演进
人工智能·redis·分布式·算法·spring·缓存·设计模式