`
fly.net.cn
  • 浏览: 183838 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java模式设计之单例模式(饿汉模式)

阅读更多
单例模式的结构

单例模式有以下的特点:

.. 单例类只可有一个实例。

.. 单例类必须自己创建自己这惟一的实例。

.. 单例类必须给所有其他对象提供这一实例。

虽然单例模式中的单例类被限定只能有一个实例,但是单例模式和单例类可以很容易被推广到任意且有限多个实例的情况,这时候称它为多例模式 (Multiton Pattern) 和多例类(Multiton Class),请见"专题:多例(Multiton )模式与多语言支持"一章。单例类的简略类图如下所示。



由于Java 语言的特点,使得单例模式在Java 语言的实现上有自己的特点。这些特点主要表现在单例类如何将自己实例化上。

饿汉式单例类饿汉式单例类是在Java 语言里实现得最为简便的单例类,下面所示的类图描述了一个饿汉式单例类的典型实现。



从图中可以看出,此类已经自已将自己实例化。

代码清单1:饿汉式单例类

public class EagerSingleton
{
private static final EagerSingleton m_instance =
new EagerSingleton();
/**
* 私有的默认构造子
*/
private EagerSingleton() { }
/**
* 静态工厂方法
*/
public static EagerSingleton getInstance()
{

·224·Java 与模式
return m_instance;
}
}

读者可以看出,在这个类被加载时,静态变量m_instance 会被初始化,此时类的私有构造子会被调用。这时候,单例类的惟一实例就被创建出来了。

Java 语言中单例类的一个最重要的特点是类的构造子是私有的,从而避免外界利用构造子直接创建出任意多的实例。值得指出的是,由于构造子是私有的,因此,此类不能被继承。
分享到:
评论

相关推荐

    Java设计模式之单例模式讲解

    入名所示,该文件为最详细的Java单例模式讲解并附有讲解代码。主要讲了单例模式的几种方法,懒汉模式、饿汉模式、静态内部类模式。着重讲解了懒汉模式下怎么实现线程安全。饿汉模式和静态内部类模式如何设置能够避免...

    java单例模式实例

    一个简单的java工程,包含注释,一目了然,其中包含了单例模式的所有实现方式,懒汉式,饿汉式,双重校验,枚举,静态内部类等方式实现单例。

    java设计模式----单例模式

    java设计模式中的单例模式,而单例模式又分为饿汉模式和懒汉模式

    设计模式——单例模式

    是http://blog.csdn.net/lxq_xsyu/article/category/1544127博客中java设计模式的源代码。下载前请先看《设计模式——单例模式》一文。

    单例模式(饿汉模式、懒汉模式、DCL单例模式、枚举)

    饿汉模式、懒汉模式、DCL单例模式、枚举;不同情况下使用不同的单例创建模式

    Java单例模式设计

    代码中演示了Java设计模式中的单例模式,其中包括饿汉单例模式,懒汉单例模式以及序列化饭序列化单例模式。在实际的开发中,可以直接借鉴使用。

    设计模式之单例模式源码demo

    单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。

    Java实现多种单例模式

    通过Java语言,主要实现了六种单例的生成方法,包括懒汉式、饿汉式、双重校验锁、枚举、静态内部类,可以根据实际情况选择使用

    三种工厂设计模式和两种单例模式

    简单工厂模式、抽象工厂模式、工厂方法模式、饿汉单例模式、懒汉单例模式

    java 单例模式(饿汉模式与懒汉模式).docx

    java 单例模式(饿汉模式与懒汉模式).docx

    java 单例模式(饿汉模式与懒汉模式)

    java 单例模式 饿汉式单例 对于饿汉模式,我们可这样理解:该单例类非常饿,迫切需要吃东西,所以它在类加载的时候就立即创建对象。 懒汉式单例类 对于懒汉模式,我们可以这样理解:该单例类非常懒,只有在自身...

    java 单例模式(懒汉式与饿汉式)

    主要介绍了java 单例模式的相关资料,这里对懒汉式与饿汉式都做了实例介绍,需要的朋友可以参考下

    Java设计模式之单例模式实例详解【懒汉式与饿汉式】

    主要介绍了Java设计模式之单例模式,简单说明了单例模式的原理并结合具体实例形式分析了单例模式中懒汉式与饿汉式的具体实现与使用技巧,需要的朋友可以参考下

    Java设计模式之单例模式及其应用

    一、 单例模式概述  Java中单例模式的定义是:一个类只有一个实例,而且自行实例化并且向整个系统提供这个实例。  优点:由于单例模式在内存中只有一个实例,减少了内存开支和系统的性能开销;单例模式可以避免...

    Java单例模式的全面总结

    Java单例模式,其中:单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种

    【ASP.NET编程知识】java 单例模式(饿汉模式与懒汉模式).docx

    【ASP.NET编程知识】java 单例模式(饿汉模式与懒汉模式).docx

    Tom_20170324_Java设计模式之单例模式的七种写法1

    2、单例类必须自己创建自己的唯一实例 3、单例类必须给所有其他对象提供这一实例 2、资源加载和性能:饿汉式在类创建的同时就实例化一个静态对象出来,不管之后会不会

    Java+单例+多例+工厂+枚举+动态代理===》演示

    单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,**应用该模式的这个类只有一个实例**。即一个类只有一个对象实例。 #### 单例设计模式实现步骤 1. 将构造方法私有化,使其不能在类的外部通过new...

    Java单例模式应用研究.pdf

    单例模式是一种最简单的创建型设计模式,主要用于对系统资源的管理与控制,在软件开发中大量使用,如Windows的文件系统、回收站、打印机等。文中通过内容管理系统项目,深入剖析了几种常用的单例类,包括饿汉式单例类、...

Global site tag (gtag.js) - Google Analytics