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

    单例模式

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

    2. UML图

    3.代码:

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

     1 public class Singleton {
     2     private static Singleton mSingleton;
     3 
     4     public Singleton() {
     5     }
     6 
     7     public Singleton getInstance() {
     8         if (mSingleton == null) {
     9             mSingleton = new Singleton();
    10         }
    11         return mSingleton;
    12 
    13     }
    14 
    15 }

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

     1 public class Singleton {
     2 
     3     private Singleton mSingleton = new Singleton();
     4 
     5     public Singleton() {
     6     }
     7 
     8     public Singleton getInstance() {
     9         return mSingleton;
    10     }
    11 
    12 }

    4.应用场景:

    •   PC机中可能有几个串口,但只能有一个COM1口的实例。
    •   系统中只能有一个窗口管理器或任务管理器
    •   在ListView中的Button的OnClickListener的监听就是用单例,来避免Button的状态回滚
  • 相关阅读:
    P1242 新汉诺塔(hanio)
    P2878 [USACO07JAN]保护花朵Protecting the Flowers
    P2096 最佳旅游线路
    [P1363] 幻想迷宫
    在矩阵上跑最小生成树
    tarjan+topsort
    tarjan缩点
    【P3398]】仓鼠找sugar
    树形数组暴力
    解决跨域问题
  • 原文地址:https://www.cnblogs.com/liangstudyhome/p/4040427.html
Copyright © 2011-2022 走看看