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

    } 


  • 相关阅读:
    loadrunder之脚本篇——集合点设置
    Loadrunner之脚本篇——事务函数
    Loadrunder之脚本篇——事务时间简介
    Loadrunder之脚本篇——参数化在场景中的运用
    Java提高(一)---- HashMap
    阅读收集
    SpringMVC是什么?
    elasticsearch head安装
    Elasticsearch 全量遍历数据
    JVM 堆内存,参数优化
  • 原文地址:https://www.cnblogs.com/kgrdomore/p/4220124.html
Copyright © 2011-2022 走看看