• Effective Java 之 --- 用私有构造器或者枚举类型强化Singleton属性


    Singleton指仅仅被实例化一次的类,通常用来代表那些本质上唯一的系统组件,实现Singleton有三种方法:

    1)公有静态成员是个final域,享有特权的用户可以调用AccessibleObject.setAccessible方法,通过反射机制调用私有构造器。

    public class User{
      public static final User INSTANCE = new User();
      private User{
      }
      public void doSomeThing(){...}
    }
    

    2)公有静态成员是个静态工厂方法

    public class User{
        public static final User INSTANCE = new User();
        private User{
        }
        public static User getInstance(){
             return INSTANCE;
        }
        public void doSomeThing(){...}
    }
    

    3)单个元素的枚举类型

    public enum User{
        INSTANCE;
        public void doSomeThing(){...}
    }
    

     

  • 相关阅读:
    Dubbo监控中心
    Dubbo 提供者配置&测试
    IDEA中pom.xml依赖另一个项目
    MBG
    查询优化技术之多级缓存
    分布式扩展流程
    Redis取值时取出的是HashMap
    linux执行sql
    Git的使用
    405
  • 原文地址:https://www.cnblogs.com/hunterCecil/p/5563275.html
Copyright © 2020-2023  润新知