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;
            }
        }
    }
  • 相关阅读:
    webpack学习笔记五
    webpack的学习使用四
    判断数组B是否为数组A的子集
    html5标签知多少
    图代文时隐藏文字的兼容实现
    负margin的移位参考线
    font-size 兼容问题
    IE6读取不到样式文件bug
    一个重构眼中的“项目管理”
    唯物 VS 唯心
  • 原文地址:https://www.cnblogs.com/Anonymity-zhang/p/14293801.html
Copyright © 2011-2022 走看看