`
gzj316
  • 浏览: 34745 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设计模式之一 单态模式(懒汉模式)

阅读更多

单态模式(懒汉模式)-------只使用于单线程。

Singleton模式:主要保证在Java应用程序中,一个类Class只存在一个实例,单态模式属于创建型的模式。
比如:数据库引擎访问点只能有一个,stust1.x中的action,Spring的中创建BeanFactory都用到了Singleton模式。

     构造一个单态模式的类需要入下几个条件:
(1).私有的构造方法。
(2).静态私有类实例为类的属性。
(3).共有静态方法。

 

public class SingletonTest {

 //私有的构造方法。为了防止类被多次实例化。只能通过静态方法返回类的实例。
 private SingletonTest()
 {
  System.out.println("正在初始化类的构造器");
 }
 //静态私有类的实例,为了保证返回的都是同一个实例,
 private static SingletonTest instance;
 //共有的静态方法,用于返回类的实例。
    public   static SingletonTest getInstance()
    {
     if (null==instance)   //注意java中如果if没有花括号,只包含下一条语句。 
      instance=new SingletonTest();
      return instance;
    }
 
 public static void main(String[] args) {
  SingletonTest t1 =SingletonTest.getInstance();
        System.out.println(t1.getClass().toString());
 }

}

 
单态模式有什么问题呢?

多个线程去调用会出现线程安全的问题。
使用synchronized修饰能保证线程的安全。但会影响性能。


 

分享到:
评论

相关推荐

    设计模式一点通之单态模式

    单态模式(Singleton Pattern)是设计模式中的一种基础模式,主要用来确保一个类只有一个实例,并提供一个全局访问点。在软件工程中,当一个类只能有一个实例而且客户可以从一个众所周知的访问点访问它时,这样的...

    设计模式之Singleton(单态)

    **设计模式之Singleton(单态)** Singleton设计模式是一种创建型设计模式,它的核心目标是确保在应用程序中只有一个类的实例,并提供一个全局访问点来获取这个唯一实例。这种模式在资源管理、缓存、日志记录、线程池...

    设计模式一点通之单态模式 C++

    单态模式(Singleton Pattern)是软件设计模式中的一种,它保证一个类只有一个实例,并提供一个全局访问点。这种模式在需要频繁创建和销毁对象,且只允许存在一个实例的情况下非常有用,例如配置管理、线程池、缓存...

    [浪曦原创]JAVA设计模式 第2讲 单态模式和简单工厂模式(jzkangta).rar

    Java设计模式是软件开发中的重要概念,它们是解决常见...这个压缩包资料“[浪曦原创]JAVA设计模式 第2讲 单态模式和简单工厂模式(jzkangta)”应包含了详细的讲解和示例代码,可以帮助深入理解和应用这两种设计模式。

    设计模式之创建型模式

    本资源包"设计模式之创建型模式"包含了对工厂模式和单态模式的详细讲解,是初学者深入理解这些概念的理想资料。 首先,我们来看工厂模式。工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂...

    单态模式(代码)

    单态模式(Singleton Pattern)是软件设计模式中的一种,它保证了类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如配置管理、线程池、缓存管理和日志记录等,因为它可以确保在整个系统中...

    深入浅出设计模式之单件模式

    根据给定的信息,《Head First 设计模式》这本书将单件模式(也称为单例或单态模式)作为其中的一个重点章节进行讲解。单件模式是一种常用的创建型设计模式,其目的是控制类的实例化过程,确保在整个应用程序中,一...

    单态模式(PPT)

    单态模式,是一种常用的软件设计模式,其核心思想是确保一个类在整个应用程序中只有一个实例,并提供全局访问点。这种模式的出现主要是为了解决对象创建的控制问题,特别是在某些需要频繁创建和销毁的对象中,单态...

    Net单态模式的案例

    在.NET环境中,无论是C#还是ASP.NET项目,单态模式都是经常被用到的设计模式之一,尤其在处理全局配置、数据库连接、缓存管理等场景下。 在C#中实现单态模式,通常有几种常见的方法: 1. **懒汉式**:延迟初始化,...

    单态模式和简单工厂模式

    单态模式是一种确保一个类只有一个实例,并提供全局访问点的设计模式。它的核心思想是控制类的实例化过程,确保在整个程序运行期间,类的实例只有一个。在Java中,通常通过私有构造函数和静态方法来实现单例。常见的...

    单态模式的设计和应用

    单态模式(Singleton Pattern)是一种常用的软件设计模式,它的核心目标是确保一个类在整个应用程序中只有一个实例,并提供全局唯一的访问点。这种模式在资源管理、配置管理、对象协调等方面有广泛应用,例如创建...

    Java设计模式之单态模式(Singleton模式)介绍

    单态模式(Singleton模式)是Java设计模式中的一种,它的主要目标是确保一个类在整个应用程序中只有一个实例存在。这种模式的应用场景广泛,特别是在需要全局共享的资源管理、配置中心、日志服务等场合非常常见。 ...

    mfc单态模式的例子

    单态模式(Singleton Pattern)是设计模式中的一种,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在MFC(Microsoft Foundation Classes)框架中,单态模式的应用同样重要,尤其对于需要全局共享的...

    单态模式的练习

    单态模式(Singleton Pattern)是设计模式中的一种,它的主要目的是确保一个类只有一个实例,并提供一个全局访问点。这个模式通常用于控制资源的共享,比如数据库连接、线程池或者配置对象等。在Java或其他面向对象...

    有关static block静态代码块和单态设计模式

    单态设计模式(Singleton Pattern)是一种常见的软件设计模式,它的目标是确保一个类只有一个实例,并提供一个全局访问点。这样做的好处包括资源管理的有效性、性能优化以及简化多线程环境下的同步控制。在Java中,...

    网络编程、常用设计模式

    设计模式是软件开发中的一种最佳实践,是解决常见问题的模板。本部分讨论了以下几种常见的设计模式: 1. **单态模式**:单态模式确保一个类只有一个实例,并提供全局访问点。它分为饿汉式和懒汉式,饿汉式在类加载...

    完整版 Java高级教程 Java语言程序设计 第6章 常用设计模式(共25页).ppt

    Java高级教程中的第六章主要讲解了五个常用的设计模式:单态模式、MVC模式、简单工厂模式、门面模式和适配器模式。设计模式是软件工程中经过实践验证的解决常见问题的有效策略,旨在提高代码的可复用性和可维护性。 ...

    MyEclipse\单态.rar

    单态(Singleton)模式是软件设计模式中的一种,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在Java编程中,单态模式被广泛应用于那些需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量...

    Eclipse Template与模式

    单态模式是一种常用的创建型设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。 ##### 4.1 单态模式的种类 单态模式可以分为以下几种类型: - **饿汉式单态模式**:类加载时就创建实例。 - **懒汉式...

Global site tag (gtag.js) - Google Analytics