• 8 线程安全且高效的单例模式


    (1)双检查

      if(instance == null){//一次检查                                   

        synchronized (MySingleton.class) {

        if(instance == null){//二次检查                         

          instance = new MySingleton();                     

        }                 

      }             

     (2)静态代码块

      private static MySingleton instance = null;  

      private MySingleton(){}

      static{         

        instance = new MySingleton();     

      }

      public static MySingleton getInstance() {  

        return instance;     

      }

    (3)静态内置类

      private static class MySingletonHandler{          

        private static MySingleton instance = new MySingleton();  

      

      private MySingleton(){}

      public static MySingleton getInstance() {  

        return MySingletonHandler.instance;  

      }  

    (4)枚举类型

      public enum EnumFactory{            

        singletonFactory;

        private MySingleton instance; private EnumFactory(){//枚举类的构造方法在类加载是被实例化         

          instance = new MySingleton();     

        }      

        public MySingleton getInstance(){  

          return instance;  

        }  

      }  

      class MySingleton{//需要获实现单例的类,比如数据库连接Connection  

        public MySingleton(){}   

      }  

  • 相关阅读:
    java 单例设计模式
    JAVAWEB监听器(二)
    pxe无人值守安装linux机器笔记----摘抄
    Ganglia3.1.7安装与配置(收录)
    Hadoop Sentry 学习
    安装和配置Sentry(收录)
    sqoop 的使用 -20160410
    深度分析如何在Hadoop中控制Map的数量(摘抄)
    CDH,CM下载
    大数据培训班 cloudera公司讲师面对面授课 CCDH CCAH CCP
  • 原文地址:https://www.cnblogs.com/JaneSJ/p/5915291.html
Copyright © 2020-2023  润新知