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

    这里直接上代码吧,比较简单的一种设计模式

    分为懒汉式跟饿汉式,当然要考虑线程同步跟效率问题

    饿汉式:

    class Single

    {

      private static final Single single = new Single();//所谓饿汉式,就是这个意思,就是说不管你需不需要我都创建出来,静态的关键是static而final在懒汉式中就不能使用

                                                                             //了,如果使用了那么这个就是个常量了,在以后我们创建这个的时候就是不可变的了

      private Single(){}

      private static Single getInstance()

      {

        return single;

      }

    }

    懒汉式:

    class Single

    {

      private static Single single=null;//这里为空,所以说是懒汉式,就是说只有需要的时候我才创建,不需要我不创建,是为懒汉式,注意不能为final常量

      private static Singel(){}

      private static Single getInstance()

      {

        if(single==null)//这里的判断就是说为了当single为null的时候我就不执行下边的判断了,提高效率

        {

          synchronized(Single.class)//这里我进行了同步,静态函数的锁是函数class

          {

            if(Single.class)//这里的判断就是为了辨别是否要进行Single的创建

            {

              single = new Single();//创建出单例

            }

          } 

        }

        return single;//肯定是在最后进行返回的

      }

    }

  • 相关阅读:
    Django restframework api版本控制组件增加及源码分析
    Django restframework用户访问频率控制组件增加及源码分析
    Django restframework用户权限认证组件增加及源码分析
    Django restframework用户登录认证组件增加及源码分析
    Django restframework视图访问流程源码剖析
    01 二维数组中的查找
    Linux基础
    函数设计原则
    递归函数分析
    函数与宏分析
  • 原文地址:https://www.cnblogs.com/kevinfuture/p/4357944.html
Copyright © 2011-2022 走看看