zoukankan      html  css  js  c++  java
  • 单例模式

    单例模式的多种实现方式

      1.饿汉模式 

    public class Singleton {
    
        private static Singleton singleton = new Singleton();
    
        private Singleton(){}
    
        public static Singleton getInstance(){
            return singleton;
        }
    
    }
    

      

      2.懒汉模式

    public class Singleton {
    
        private static Singleton singleton;
    
        private Singleton() {}
    
        synchronized public static Singleton getInstance(){
            if(singleton!=null){
            }else{
                singleton =  new Singleton();
            }
            return singleton;
        }
    
    }
    

      

      3. 双重校验锁

    public class Singleton {
    
        private static Singleton singleton;
    
        private Singleton() {}
    
         public static Singleton getInstance(){
            if(singleton!=null){
            }else{
                synchronized (Singleton.class){
                    if(singleton==null){
                        Singleton =  new Singleton();
                    }
                }
    
            }
            return Singleton;
        }
    }
    

      

      4.静态内部类

    public class Singleton {
    
        private static class SingletonHandle{
            private static Singleton singleton = new Singleton();
        }
    
        private Singleton(){}
    
        public static Singleton(){
            return SingletonHandle.singleton;
        }
    
    }
    

      

  • 相关阅读:
    uniapp开发注意事项
    uniapp生成海报带二维码及保存
    严格模式的this
    数据类型
    短路特性
    第九周程序改错
    矩阵转置
    二分法求根
    三天打鱼两天晒网
    LeetCode7
  • 原文地址:https://www.cnblogs.com/ppli/p/5287294.html
Copyright © 2011-2022 走看看