zoukankan      html  css  js  c++  java
  • 单实例Singleton

     

    单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在 整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在 整个系统中只能出现一个实例。

    Singleton的教学版本

    这里,我将直接给出一个Singleton的简单实现,因为我相信你已经有这方面的一些基础了。我们姑且把这具版本叫做1.0版

     1 // version 1.0   
     2 public class Singleton   
     3 {   
     4     private static final Singleton singleton = null;   
     5   
     6     private Singleton()   
     7     {   
     8     }   
     9     public static Singleton getInstance()   
    10     {   
    11         if (singleton== null)   
    12         {   
    13             singleton= new Singleton();   
    14         }   
    15         return singleton;   
    16     }   
    17 }  

    在上面的实例中,我想说明下面几个Singleton的特点:(下面这些东西可能是尽人皆知的,没有什么新鲜的)

    1. 私有(private)的构造函数,表明这个类是不可能形成实例了。这主要是怕这个类会有多个实例。
    2. 即然这个类是不可能形成实例,那么,我们需要一个静态的方式让其形成实例:getInstance()。注意这个方法是在new自己,因为其可以访问私有的构造函数,所以他是可以保证实例被创建出来的。
    3. 在getInstance()中,先做判断是否已形成实例,如果已形成则直接返回,否则创建实例。
    4. 所形成的实例保存在自己类中的私有成员中。
    5. 我们取实例时,只需要使用Singleton.getInstance()就行了。
  • 相关阅读:
    栈stack,queue队列
    安装Redis
    为什么负负得正,减负数的意义
    关于数组的记忆
    k8s环境常用操作
    conda python虚拟环境使用locust
    jmeter csv set data中sharing mode的使用说明
    redis常用操作
    数据库基准测试标准 TPC-C or TPC-H or TPC-DS
    influxdb基本操作
  • 原文地址:https://www.cnblogs.com/mywy/p/4044998.html
Copyright © 2011-2022 走看看