专栏首页学习笔记持续记录中...Java设计模式-单例模式-枚举

Java设计模式-单例模式-枚举

优缺点说明

1)这借助于JDK1.5中添加的枚举来实现单例模式。不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象

2)这种方式是Effective Java作者Josh Bloch提倡的方式

3)结论:推荐使用

public class SingletonTest08 {
    public static void main(String[] args) {
        Singleton08 instance  = Singleton08.INSTANCE;
        Singleton08 instance01 = Singleton08.INSTANCE;

        System.out.println(instance == instance01);
        System.out.println("instance,hashCode= " + instance.hashCode());
        System.out.println("instance01,hashCode = " + instance01.hashCode());

        instance.sayOK();
    }
}

enum Singleton08{
    INSTANCE;
    public void sayOK() {
        System.out.println("ok~");
    }
}

// 运行结果
true
instance,hashCode= 1846274136
instance01,hashCode = 1846274136
ok~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java设计模式-单例模式-懒汉式-同步代码块

    1)这种方式,本意是想对懒汉式-线程安全这种方式进行的改进,因为前面同步方法效率太低,改为同步产生实例化的代码块

    桑鱼
  • Java基础:五、方法重载(2)

    在Java里,构造器是强制重载方法名的另一个原因。既然构造器的名字已经由类名所决定,就只能有一个构造器名,如果想用多种方式创建一个对象该怎么办呢?这就需要两个构...

    桑鱼
  • Java设计模式-单例模式-饿汉式(静态变量)

    1)构造器私有化(防止new) 2)类的内部创建对象 3)向外暴露一个静态的公共方法,getInstance

    桑鱼
  • 【SLAM】开源 | 解决动态变化的室内环境中的SLAM问题——lifelong SLAM,提高位姿估计的鲁棒性和精度

    在动态环境中,服务机器人具有一定的自主运行能力。机器人自主最基本的问题之一是SLAM,目前大多数SLAM都是通过短周期记录的数据序列来进行评估的。然而在实际应用...

    CNNer
  • 一文看透java8新特性

    毫无疑问,Java 8发行版是自Java 5(发行于2004,已经过了相当一段时间了)以来最具革命性的版本。Java 8 为Java语言、编译器、类库、开发工具...

    好好学java
  • 10万奖金、190万真实问答数据,智源-看山杯请你为100万个问题找到最合适的“谢邀”

    知识分享服务成为目前全球互联网的重要、最受欢迎的应用类型之一,在知识分享或问答社区中,问题数远远超过有质量的回复数。如何连接知识、专家和用户,增加专家的回答意愿...

    大数据文摘
  • Java必考面试题「版本特性」

    Java 8用默认方法与静态方法这两个新概念来扩展接口的声明。与传统的接口又有些不一样,它允许在已有的接口中添加新方法,而同时又保持了与旧版本代码的兼容性。

    Java3y
  • mac删除自带的 ABC 输入法

    在 OS X El Capitan 中有一个跟安全相关的模式叫 SIP(System Integrity Protection ) ,它禁止让软件以 root ...

    JavaEdge
  • 测试开发进阶(二十)

    Django makes it easier to build better Web apps more quickly and with less code.

    zx钟
  • Java 反射详解

      反射反射,程序员的快乐! 一、什么是反射?   通过百度百科我们可以知道,Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;...

    IT可乐

扫码关注云+社区

领取腾讯云代金券