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

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

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

相关推荐
快乐的划水a5 小时前
组合模式及优化
c++·设计模式·组合模式
Zyy~6 小时前
《设计模式》装饰模式
java·设计模式
落霞的思绪9 小时前
Java设计模式详细解读
java·开发语言·设计模式
是2的10次方啊9 小时前
🚀 JDK设计模式大揭秘:23种模式藏在你每天在用的类里
设计模式
步行cgn10 小时前
设计模式(Design Patterns)
设计模式
Zyy~16 小时前
《设计模式》代理模式
设计模式·代理模式
o0向阳而生0o16 小时前
93、23种设计模式之抽象工厂模式
设计模式·抽象工厂模式
Tadas-Gao17 小时前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
饕餮争锋1 天前
设计模式笔记_行为型_观察者模式
笔记·观察者模式·设计模式
我命由我123451 天前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js