`
adapterofcoms
  • 浏览: 74661 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Singleton设计模式,需要双重检查吗?

阅读更多

Singleton设计模式,双重检查样列如下:

  • public class Singleton   
  • {   
  •     private static final Singleton singleton = null;   
  •   
  •     private Singleton()   
  •     {   
  •     }   
  •     public static Singleton getInstance()   
  •     {   
  •         if (singleton== null)   
  •         {   
  •             synchronized (Singleton.class)   
  •             {   
  •                 if (singleton== null)   
  •                 {   
  •                     singleton= new Singleton();   
  •                 }   
  •             }   
  •         }   
  •         return singleton;   
  •     }   
  • }  
  •  

    简单样列1:

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

     

    双重检查很通用,但是它引以为傲的是性能的优化(在getInstance被很多很多次调用的情况下).

    呵呵,我就直接说结论了:在性能上最优的是 简单样列1 [当然也是在getInstance被很多很多次调用的情况下].

    简单样列1是非惰性加载,所以有人要反驳说 如果我不用到Singleton 的实例岂不是白占了内存.

    所以你选择 简单样列1 还是 双重检查 是要根据你的实际情况的,如果在程序中对单列类引用的频率是很高的,那么应该选择 简单样列1,反之 双重检查.

     

     

     

    0
    0
    分享到:
    评论

    相关推荐

      Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

      这里我们将深入探讨三种常见的Java设计模式:单例(Singleton)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。 **单例模式(Singleton)** 单例模式确保一个类只有一个实例,并提供一个全局访问点...

      singleton设计模式java实现及对比

      **Singleton设计模式** Singleton设计模式是软件工程中最常用的设计模式之一,它的主要目的是确保一个类只有一个实例,并提供全局访问点。在Java中,Singleton模式的实现有多种方式,每种方式都有其优缺点,我们将...

      最简单的设计模式学习Singleton模式

      ### 最简单的设计模式学习:Singleton模式 #### 一、Singleton模式简介 Singleton(单例)模式是一种常用的软件设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在许多场合下非常...

      C#设计模式之Singleton模式

      《C#设计模式之Singleton模式详解》 Singleton模式是软件设计模式中的一种基础模式,它在众多设计模式中占有重要地位,尤其在C#编程中经常被应用。Singleton模式的主要目的是确保一个类只有一个实例,并提供一个...

      设计模式之Singleton

      **设计模式之Singleton(单例模式)** 在软件工程中,设计模式是解决常见问题的模板,它们代表了经过时间考验的最佳实践。Singleton模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点来...

      C#面向对象设计模式纵横谈-1.Singleton 单件(创建型模式)

      Singleton模式的实现有多种变体,例如懒汉式(Lazy Initialization)、饿汉式(Eager Initialization)和双检锁/双重检查锁定(Double-Check Locking)。懒汉式是在第一次使用时才创建实例,而饿汉式则是在类加载时...

      大话设计模式--Singleton(单例模式)

      单例模式是软件设计模式中的一种经典模式,它在许多场景下被广泛使用,尤其是在需要全局唯一实例的情况下。本文将深入探讨单例模式的概念、作用、实现方式以及其在实际编程中的应用。 单例模式的核心思想是确保一个...

      C++完美实现Singleton模式

      Singleton模式是一种常用的软件设计模式,旨在确保一个类只有一个实例,并提供一个全局访问点。这种模式在系统中经常被用于控制对共享资源(如数据库连接、日志对象等)的访问。正确地实现Singleton模式对于提高代码...

      [创建型模式] head first 设计模式之单件模式(Singleton)

      **单例模式(Singleton)**是软件设计模式中的一种创建型模式,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,例如管理共享资源、配置对象或者数据库连接等。单例...

      设计模式总结-模板设计模式,单例模式(singleTon)

      3. **双重检查锁定**:结合懒汉式的延迟加载和同步机制,提高效率的同时保证线程安全。 **Java 实现示例**: ```java public class Singleton { private static volatile Singleton instance; // 使用 volatile ...

      设计模式之Singleton(单态)

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

      设计模式C++学习之单例模式(Singleton)

      单例模式是软件设计模式中的一种,它保证一个类只有一个实例,并提供一个全局访问点。在C++中,实现单例模式有多种方法,我们将会深入探讨这一模式的原理、优缺点以及如何在实际编程中应用。 单例模式的核心在于...

      java Singleton单例模式

      Java中的Singleton(单例模式)是一种常用的软件设计模式,它保证了类只有一个实例,并...然而,随着设计模式的发展,如依赖注入、工厂模式等,Singleton在某些情况下可能不再是最佳选择,需要根据实际需求权衡使用。

      (创建型模式)Singleton模式

      Singleton模式是设计模式中的一种创建型模式,它在软件工程中扮演着重要的角色。这个模式的主要目的是确保一个类只有一个实例,并提供一个全局访问点来获取这个唯一的实例。Singleton模式的应用场景通常涉及到系统...

      Singleton单例模式.zip

      单例模式是软件设计模式中的一种经典模式,用于控制类的实例化过程,确保一个类在整个应用程序中只有一个实例存在。在C#编程中,单例模式的应用非常广泛,尤其是在需要频繁实例化然后销毁的对象,或者需要共享的昂贵...

      Java面向对象(高级)- 单例(Singleton)设计模式

      为了避免懒汉式的同步开销,还可以采用双重检查锁定(Double-Check Locking)或者静态内部类的方式实现线程安全的懒汉式。 单例模式的优点包括: - 资源共享,节省内存。 - 控制实例的产生,避免过多的实例导致的...

      singleton_单例模式_java_设计模式_

      单例模式是软件设计模式中的一种经典模式,它在Java编程中被广泛使用。这个模式的主要目的是确保一个类只有一个实例,并提供一个全局访问点。这样做的好处在于控制资源的共享,减少系统开销,以及在多线程环境中避免...

      Singleton 单例模式

      Singleton 单例模式是软件设计模式中的一种,它限制了类的实例化过程,确保一个类在整个系统中只有一个实例存在。这种模式常用于系统资源管理,比如数据库连接、线程池或者缓存服务等,因为这些资源往往需要全局共享...

      C#面向对象设计模式纵横谈(2):Singleton 单件(创建型模式)

      标题和描述均聚焦于"C#面向对象设计模式"之中的"Singleton单件(创建型模式)",这是一种在软件工程领域广泛运用的设计模式,其核心在于确保一个类只有一个实例,并提供一个全局访问点,以实现资源的有效管理和控制。...

      C++设计模式代码资源12_Singleton.zip

      《C++设计模式:深入解析Singleton模式》 Singleton模式,作为设计模式中最为经典的一种,是一种创建型设计模式,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。在C++编程中,Singleton模式的应用...

    Global site tag (gtag.js) - Google Analytics