204. 单例

描述

单例 是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式。

你的任务是设计一个 getInstance 方法,对于给定的类,每次调用 getInstance 时,都可得到同一个实例。

样例

在 Java 中

A a = A.getInstance();
A b = A.getInstance();

a 应等于 b

挑战

如果并发的调用 getInstance,你的程序也可以正确的执行么?

代码

class Solution {
    /**
     * @return: The same instance of this class every time
     */
    public static Solution instance = null;
    public static Solution getInstance() {
        // 只要实例化过,instance 就不为空了
        if (instance == null) {
            instance = new Solution();
        }
        
        return instance;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 本文主要参考 那些年,我们一起写过的“单例模式”。 何为单例模式? 顾名思义,单例模式就是保证一个类仅有一个...
    tandeneck阅读 2,628评论 1 8
  • 1 场景问题# 1.1 读取配置文件的内容## 考虑这样一个应用,读取配置文件的内容。 很多应用项目,都有与应用相...
    七寸知架构阅读 6,976评论 12 68
  • 单例模式(SingletonPattern)一般被认为是最简单、最易理解的设计模式,也因为它的简洁易懂,是项目中最...
    成热了阅读 4,544评论 4 34
  • “写作”就跟“吃药”一样,药不能停,写作自然也不能停。一旦停下了就会出现“不知道写什么”的问题。即使每天随意记记流...
    离曦问路阅读 311评论 0 0
  • 少女的心事这样稠,像晨雾,朦朦胧胧的,望不远,也看不破。 男孩在床上辗转难眠,起来,又躺下,又起来,月色很淡,却分...
    塔塔妹阅读 349评论 1 2

友情链接更多精彩内容