`
Hode
  • 浏览: 27058 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

单实例模式Singleton

阅读更多
  • 有且只能有一个实例,必须给其他角色提供该实例
  • 推荐使用 避免了多线程的同步开销,实现也较为简单


饿汉单实例模式

public class className{
        public static className instance = new className();
        private className(){}
        public static className getInstance(){
            return instance;
        } 


懒汉单实例模式

public class className{
        public static className instance = null; 


        private className(){}


        public static  synchronized className getInstance(){ 

                 if(instance == null){ 

             instance = new className(); 

    }
            return instance; 

}

注册式单例模式

import java.util.HashMap; 

public class RegSinglePattern {
    private static HashMap regMap = new HashMap();
    static {
        RegSinglePattern x = new RegSinglePattern();
        regMap.put(x.getClass().getName(), new RegSinglePattern());
    }
    private RegSinglePattern() {
    }
    public synchronized RegSinglePattern getInstance(String name) {
        if(name == null ) {
            name = "com.javapatterns.singleton.demos.RegSigleton";
        }
        if(regMap.get(name) == null) {
            regMap.put(name, new RegSinglePattern());
        }
        return (RegSinglePattern) regMap.get(name);
    }
}
分享到:
评论

相关推荐

    单例模式Singleton(java源码)

    Singleton模式包含的角色只有一个,就是Singleton。Singleton拥有一个私有构造函数,确保用户无法通过new直接实例化它。除此之外,该模式中包含一个静态私有成员变量instance与静态公有方法Instance()。Instance()...

    设计模式 创建型模式 Singleton模式(单键)

    Singleton主要用于对象的创建,这意味着,如果某个类采用了Singleton模式,则在这个类被创建后,它将有且仅有一个实例可供访问。很多时候我们都会需要Singleton模式,最常见的比如我们希望整个应用程序中只有一个...

    单例模式 Singleton Pattern

    单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个...

    Qt qml Singleton 单例模式

    此示例展示了Qml 的单例模式(类似全局对象,只生成一次实例,可全局使用) surfsky.cnblogs.com

    C++单实例模式示例代码

    单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问。唯一实例类Singleton在静态成员函数中隐藏...

    设计模式 单键 singleton

    Singleton模式,顾名思义,Singleton就是确保一个类只有唯一的一个实例。Singleton主要用于对象的创建,这意味着,如果某个类采用了Singleton模式,则在这个类被创建后,它将有且仅有一个实例可供访问。 详细见博客 ...

    Android 单例模式 Singleton 简单实例设计模式解析

    主要介绍了单例模式 Singleton 简单实例设计模式解析的相关资料,需要的朋友可以参考下

    Singleton(单例模式)

    在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这可以节省一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率...

    单例模式(singleton)

    一个产生随机数的例子,整个应用程序中只需要一个类的实例来产生随机数,客户端程序从类中获取这个实例,调用这个实例的方法nextInt(),公用的方法访问需要进行同步,这是单例模式需要解决的同步问题。

    创建型模式(除singleton)外的四种模式简单实例

    创建型模式,包括Abstract Factory,Builder,Factory Method和Prototype模式的简单实例。

    php设计模式 Singleton(单例模式)

    php /** * 单例模式 * * 保证一个类仅有一个实例,并提供一个访问它的全局访问点 * */ class Singleton { static private $_instance = null; private function __construct() { } static public function ...

    c#单例模式(Singleton)的6种实现

    如:IO处理,数据库操作等,由于这些对象都要占用重要的系统资源,所以我们必须限制这些实例的创建或始终使用一个公用的实例,这就是我们今天要介绍的——单例模式(Singleton)。  使用频率高 单件模式(Singleton...

    go语言单例模式(Singleton)实例分析

    本文实例讲述了go语言单例模式(Singleton)用法。分享给大家供大家参考。具体分析如下: 单例模式(Singleton):表示一个类只会生成唯一的一个对象。单例模式具有如下性质: A.这些类只能有一个实例; B.这些能够...

    JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能

    本文实例讲述了JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能。分享给大家供大家参考,具体如下: 单例模式 单例模式的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中...

    Java24种设计模式,Java24种设计模式,24种设计模式,学会了这24种设计模式,可以打遍天下无敌手,设计模式非常重要

    3、单例模式SINGLETON PATTERN 4、多例模式MULTITION PATTERN 5、工厂方法模式FACTORY METHOD PATTERN 6、抽象工厂模式ABSTRACT FACTORY PATTERN 7、门面模式FACADE PATTERN 8、适配器模式ADAPTER PATTERN 9、模板...

    C++实现Singleton单例模式

    本文档,是利用C++来实现设计模式中的,单例模式,里面有内容说明和相关实例代码介绍

    Singleton 单件(创建型模式)教程

    单例模式是一种常用的软件...通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案

    Singleton模式

    Singleton —定义一个Instance方法,允许客户访问它的唯一实例。 Instance是一个类方法(即一个静态成员函数)。 —负责创建它自己的唯一实例。

    UnitySingleton:在Unity中实现单例模式的最佳方法

    如果延迟加载无法使用它们,则实例化Singleton对象 您可以在检查器中为预加载场景中的单例对象配置字段 入门 。 在Unity中打开项目。 通过扩展泛型来创建自己的Singleton类 类。 将您的单例类附加到_Preload场景...

    JAVA设计模式(单态模式和简单工厂模式)

    Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在项目的很多地方都会用到它,比如说数据库的链接。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于...

Global site tag (gtag.js) - Google Analytics