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

    一. 概念简述:

    在软件开发中我们最常用的一个设计模式也许就是单例模式了,单例模式也是所有设计模式中最简单的,单例模式指的是一个类有且只能创建一个实例对象。


    二. 实现思路:

    1. 定义私有静态变量mInstance,mInstance类型为当前类的对象,用来持有单例唯一的实例;

    2. 将构造方法定义为private,使外界不能随意调用来创建该类的对象;

    3. 定义一个静态的公共方法getInstance(),在此方法中调用该类私有的构造方法。

    三. 具体实现:

    从实现思路看以看出单例模式的具体实现方法不止一种.

    1.懒汉式

      懒汉式指的是该类的对象在第一次真正使用的时候去创建,直接上代码,

     1  public class SingleInstance{
     2     private static SingleInstance mInstance;
     3     private SingleInstance(){
     4     }
     5     pulic static SingleInstance getInstance(){
     6           if(mInstance == null){
     7               mInstance = new SingleInstance();  
     8           }
     9           return mInstance;
    10     }
    11  }

    2. 饿汉式
      饿汉式是该类单例的实例在该类加载的时候就创建,饿汉式代码如下:

    1 public class SingleInstance{
    2     private static SingleInstance mInstance = new SingleInstance();
    3     private SingleInstance(){
    4     }
    5     public static SingleInstance getInstance(){
    6         return mInstance;  
    7     }  
    8 }
    • 饿汉式问题:

        1. 如果该类的构造方法中有较多的操作处理,这时饿汉式将会导致该类的加载比较慢,往往影响程序的性能;

    •        2. 如果该类进行了加载,在短时间内并没有使用的话则会占用内存,造成资源的浪费。

     

     

  • 相关阅读:
    单链表的实现C语言版
    顺序表的基本方法实现C语言版
    算法
    Redis
    Linux安装python3.6.1
    Markdown 基本使用手册
    设计Django个人博客网站
    RabbitMQ消息队列
    堡垒机 Paramiko 模块
    进程、线程、协程总结
  • 原文地址:https://www.cnblogs.com/changjl/p/4695782.html
Copyright © 2011-2022 走看看