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

      }

    }

  • 相关阅读:
    hdoj5813【构造】
    Codeforces645B【树状数组求逆序数】
    pojcoin【未完待续】
    hdoj5818【模拟】
    poj2385【基础DP】
    poj3069【贪心,水】
    谦虚
    poj3617【贪心】
    poj2229【完全背包-规律Orz...】
    poj3176【简单DP】
  • 原文地址:https://www.cnblogs.com/kevinfuture/p/4357944.html
Copyright © 2011-2022 走看看