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

    单例模式代码本身

    class Singleton {

        //将声明对象的工作发在全局变量中
        private static Singleton instance;
        
        //这个对象是为了在锁住这个类的时候的判断
        private static Object object = new Object();
        
        //私有化构造方法,只有本身可以创建本身
        private Singleton(){}
        
        //外部的类要创建这个类通过这个方法创建
        public static Singleton getInstance(){
            if(instance == null){
                //当对象为空的时候才进行synchronized对象
                synchronized(object){
                    //双重判断是否为空,是考虑到多线程的时候,如果
                    
    //两个线程通过了第一个null判断后,第一个线程锁定了
                    
    //object后,创建了一个对象,解锁,如果不在进行第二个null
                    
    //判断的话,第二个线程就可以继续创建第二个对象,违反了
                    
    //单例模式的单一对象的原则
                    if(instance == null){
                        instance = new Singleton();
                    }
                }
            }
             return instance;
        }
    } 

     接下来是调用的代码

    public class Test {

        public static void main(String[] args) {
            Singleton.getInstance();
        }

    } 


  • 相关阅读:
    BGP笔记
    IS-IS笔记
    MAC ACL、RACL和VACL
    MPLS笔记
    OSPF笔记
    RIP笔记
    组播浅谈
    如何查看本机是否是虚拟机
    python中逻辑运算符“+”的特殊之处
    劳动成本持续增高,中国企业如何自救?精益化生产提升企业附加值
  • 原文地址:https://www.cnblogs.com/kgrdomore/p/4220124.html
Copyright © 2011-2022 走看看