zoukankan      html  css  js  c++  java
  • Java之单例模式(Singleton)

    1. 概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    2. UML图:

    3.代码:

    (1)懒汉模式:只有在自身需要的时候才会创建。运行时获得对象,它在整个应用的生命周期只有一部分时间在占用资源。  

    public class Singleton 
    {
      private static Singleton singletonInstance;
      
      private Singleton() 
      {
      }
      
      public static synchronized Singleton GetInstance() 
      {
        if (singletonInstance == null
        {
          singletonInstance = new Singleton();
        }
        return singletonInstance;
      }
    }

    (2)饿汉模式:在类加载的时候就立即创建对象。加载类的时候创建对象,它从加载到应用结束会一直占用资源。

    public class Singleton 
    {
      private static Singleton singletonInstance=new Singleton();
      
      private Singleton() 
      {
      }
      
      public static Singleton GetInstance() 
      {
        return singletonInstance;
      }
    }

    4.应用场景:

    •    PC机中可能有几个串口,但只能有一个COM1口的实例。
    •    系统中只能有一个窗口管理器或任务管理器。
  • 相关阅读:
    HDU 5714
    C++ 中的名称冲突之 "y1"
    FFT 模板
    Modular Query
    找礼物(find)(模拟)
    水流(water)(BFS)(DFS)
    单词接龙(dragon)(BFS)
    细菌(disease) (位运算)(状态压缩)
    Diamond Collector (动态规划)
    超级素数(sprime) (BFS)
  • 原文地址:https://www.cnblogs.com/makeryan/p/2498299.html
Copyright © 2011-2022 走看看