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;//肯定是在最后进行返回的

      }

    }

  • 相关阅读:
    input.file上传图片| FileReader h5新特性
    lua的luasocket程序
    nginx的proxy_set_header
    lua的table.sort
    lua的深拷贝和浅拷贝
    nginx的location匹配
    kong后台接口
    一些程序和工具
    lua的模式匹配
    php的一些语法
  • 原文地址:https://www.cnblogs.com/kevinfuture/p/4357944.html
Copyright © 2011-2022 走看看