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

    //饿汉式 单例模式
    class Bank{
        
        //1.私有化类的构造器
        private Bank() {
        }
        
        //2.内部创建类的对象 (类的实例)
        private static Bank bank = new Bank();
        
        //3.提供公共的静态方法 , 返回类的对象 (注 :静态方法中只能调用静态结构)
        public static Bank getInstance() {
            return bank;
        }
    }
    //懒汉式 单例模式
    class Order{
        
        //1.私有化类的构造器
        private Order() {
        }
        
        //2.声明当前类的对象 , 但不初始化
        private static Order instance=null;
        
        //3.提供public , static 的返回当前对象的方法
        public static Order getInstance() {
            if(instance == null) {
                instance = new Order();
            }
            return instance;
        }
    }

    /线程安全的懒汉式单例模式 : 同步方法
    class Bank{
        //1.私有化类的构造器
        private Bank(){};
        //2.声明当前类的对象 , 但不初始化
        private static Bank instance=null;
        //3.提供public , static 的返回当前对象的方法
        public static synchronized Bank getInstance(){
            if (instance == null){
                instance=new Bank();
            }
            return instance;
        }
    }
    
    //线程安全的懒汉式单例模式 : 同步代码块
    class Bank1{
        //1.私有化类的构造器
        private Bank1(){};
        //2.声明当前类的对象 , 但不初始化
        private static Bank1 instance=null;
        //3.提供public , static 的返回当前对象的方法
        public static Bank1 getInstance(){
            synchronized(Bank1.class) {
                if (instance == null) {
                    instance = new Bank1();
                }
                return instance;
            }
        }
    }
  • 相关阅读:
    .net core 2.0以上版本加载appsettings.json
    BZOJ 2564: 集合的面积
    P3829 [SHOI2012]信用卡凸包
    P2215 [HAOI2007]上升序列
    P2511 [HAOI2008]木棍分割
    P2510 [HAOI2008]下落的圆盘
    P4053 [JSOI2007]建筑抢修
    P4050 [JSOI2007]麻将
    P4049 [JSOI2007]合金
    P4161 [SCOI2009]游戏
  • 原文地址:https://www.cnblogs.com/Anonymity-zhang/p/14293801.html
Copyright © 2011-2022 走看看