zoukankan      html  css  js  c++  java
  • java基础-单例设计模式

    //类加载时,对象已经创建

    class Single{

      private static  Single s = new Single();

      private Single(){}

      public static Single getInstance(){

        return  s;

      }

    }

    //类加载时,未创建对象,在调用 getInstance方法时,才会创建对象

    //延迟类的加载

    class Single{

      private static Single s = null;

      private Single(){}

      public static Single getInstance(){

        if(s==null){

          s=new Single();

        }

        return s;

      }

    }

     //考虑线程,以及优化 延迟加载类型

    class Single{

      private static Single s = null;

      private Single(){}

      public static Single getInstance(){

       if(s==null){  //加判断,解决效率问题:避免产生对象后,每次判断锁,影响程序效率

         synchronized(Single.class){  //加锁,解决线程安全问题

           if(s==null){

              s=new Single();

             }

          }

      }

        return s;

      }

    }

  • 相关阅读:
    让linux用户隶属于多个组
    ldd 的介绍
    全栈博客开发(三)完善项目并容器化
    C++ 迭代器
    C++ vector类
    C++输入输出流和变量
    C++ vscode搭建windows C++开发环境
    全栈博客开发(二)添加渲染
    C++ string类
    全栈博客开发(一)服务结构
  • 原文地址:https://www.cnblogs.com/wangxh92/p/3671361.html
Copyright © 2011-2022 走看看