`
lchenjay
  • 浏览: 16302 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Singleton 类 (单态类,只有一个实例存在)

阅读更多
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。
public class Singleton { 
     private Singleton(){} 
     //在自己内部定义自己一个实例
      //注意这是private 只供内部调用 
      private static Singleton instance = new Singleton(); 
     //这里提供了一个供外部访问本class的静态方法,可以直接访问 
      public static Singleton getInstance() { 
         return instance; 
    } 
} 


第二种形式:
public class Singleton { 
     private static Singleton instance = null; 
     public static synchronized Singleton getInstance() { 
     //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 
      //使用时生成实例,提高了效率! 
         if (instance==null) 
         instance=new Singleton(); 
        return instance; 
      } 
} 

其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些
分享到:
评论

相关推荐

    设计模式之Singleton(单态)

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

    单态模式(PPT)

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

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

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

    单态模式(代码)

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

    Net单态模式的案例

    单态模式(Singleton Pattern)是软件设计模式中的一种,它保证一个类只有一个实例,并提供一个全局访问点。在.NET环境中,无论是C#还是ASP.NET项目,单态模式都是经常被用到的设计模式之一,尤其在处理全局配置、...

    Java中单态设计模式

    这样,无论何时需要`Singleton`类的实例,都可以通过`Singleton.getInstance()`来获取,从而确保系统中只有一个实例存在。 #### 四、单态设计模式的实现细节 在实际应用中,还需要考虑线程安全问题。如果多个线程...

    mfc单态模式的例子

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

    MyEclipse\单态.rar

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

    单态模式的练习

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

    Java实现的单态登陆

    在面向对象编程中,单态模式保证一个类只有一个实例,并提供一个全局访问点。在单态登录的场景下,这个实例通常是一个包含用户登录状态信息的对象。 1. **单态模式实现**: - 在Java中,我们通常通过私有构造函数...

    单态模式的设计和应用

    - 在JVM中,如果一个类由不同的类加载器加载,那么每个类加载器都会创建自己的单态实例,这可能导致预期之外的结果。 - 在分布式系统如EJB中,由于跨越服务器和JVM,单态模式可能失效,需要考虑其他设计方案。 - ...

    .Net单态模式的案例

    单态模式(Singleton Pattern)是设计模式中的一种,它的核心思想是限制类的实例化,确保一个类只有一个实例,并提供全局访问点。在.NET开发中,单态模式被广泛应用于那些需要频繁实例化然后销毁的对象,或者需要...

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

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

    设计模式整理(很全)

    创建模式 设计模式之Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之Factory(工厂方法和抽象工厂) 使用工厂模式就象使用new一样频繁....

    JAVA设计模式23种

    保证一个类只有一个实例,并提供一个访问它的全局访问点 设计模式之Factory(工厂方法和抽象工厂) 使用工厂模式就象使用 new一样频繁. 设计模式之Builder 汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装...

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

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

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

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

    单态模式和工厂模式.ppt

    单态模式是一种创建型设计模式,其核心在于保证一个类只有一个实例,并提供一个全局访问点。这种模式的主要目的是为了节约系统资源,避免频繁地创建和销毁对象,同时提供了一个全局共享的入口,使得在系统中的任何...

    Java语言中的构造方法私有化.pdf

    这种方法确保了整个程序中只有一个Singleton实例,这是单态模式的核心特性。 构造方法私有化的目的主要有两个: 1. **限制实例化**:通过私有化构造方法,可以防止外部类直接创建对象,从而控制对象的生命周期和...

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

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

Global site tag (gtag.js) - Google Analytics