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();
        }

    } 


  • 相关阅读:
    作业要求 20200924-5 四则运算试题生成,结对
    作业要求 20200924-1 每周例行报告
    作业要求20200924-3 单元测试,结对
    作业要求20200924-4 代码规范,结对要求
    20200910-1每周例行报告
    20200910-博客作业
    通读《构建之法》
    20200910-3 命令行和控制台编程
    20200924-2 功能测试
    20200924-5 四则运算试题生成,结对
  • 原文地址:https://www.cnblogs.com/kgrdomore/p/4220124.html
Copyright © 2011-2022 走看看