• 1.9 23种设计模式之单例模式详情 > 我的程序猿之路:第九章


    1. 概述:确保在一个类中只有一个实例,而且自行实例化并且能对整个系统提供实例对象 -------单例;

    2. 类图:

    3. 描述:私有的静态实例化对象;

               私有的构造函数;

              公有的静态方法;

              单例模式根据 "实例化对象" 的不同,分为 "饿汉式" 和 "懒汉式";

              饿汉式:单例类被加载的时候,就实例化一个对象交给自己引用。

              懒汉式:只有加载这个单例类,然后调用这个类中方法的时候,才会实例化对象。

    4. 代码<不插入了>:

      1:饿汉式
           public class Singleton{
                private static Singleton s = new Singleton();
                private Singleton(){ }
                public static Singleton getSingleton(){
                   return Singleton;
            }
     }

       2:懒汉式
         public class Singleton{
              private static Singleton s;
              private Singleton(){ }
              public static Singleton getSingleton(){
                if( s == null ){
                    s = new Singleton();
                  }
                return Singleton;
           }

    5. 优点:1.一个类中只有一个被实例化的对象,节省内存空间;
                   2.避免了创建销毁对象,提高了性能
                   3.避免了共享资源的多重占用
                   4.可以全局使用

    6. 使用场景:1.需要频繁的实例化对象然后销毁对象。
                          2.创建对象时耗时过多或耗费资源过多,但有经常被用到的对象。
                          3.有状态的工具类对象。
                          4.频繁访问数据库或文件的对象          

  • 相关阅读:
    mysql case when用法
    php+mysql实现事务回滚
    go安装windows源码
    【C++】子类访问父类typedef的问题
    【C++】STL算法之remove_if
    MySQL常用函数总结
    Apriori算法+python实现
    数据库索引理论
    Linux基本命令
    JAVA 多线程
  • 原文地址:https://www.cnblogs.com/fanyuyi-boke/p/qiao_duo_shao_nian_dai_ma_neng_ba_shou_zhi_mo_ping9.html
Copyright © 2020-2023  润新知