`
hanhg
  • 浏览: 136943 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

singleton模式的两种实现

阅读更多
下面为大家介绍两种常见的singleton模式,面试的时候有些也会问到,毕竟是比较流行的设计模式之一嘛!
1.
public class Singleton{
       private Singleton(){}
  private static Singleton instance=new Singleton();
  public static Singleton getInstance(){
        return instance;
       }
}


2.
public class Singleton {
  private static Singleton instance=null;
  public static synchronized Singleton getInstance(){
  if(instance=null){
    instance=new Singleton();
   }
   return instance;
  }
}


<注>如果有多个Singleton对象同时被不同的类装入器装载,使用Singleton并不能达到Singleton的目的,如EJB(跨服务器,跨JVM的)。
分享到:
评论

相关推荐

    Singleton两种代码实现

    单例模式,Singleton两种代码实现。一般实现方法,泛型实现方法(推荐)

    C++ 实现的singleton 模式

    Singleton模式是一种常用的软件设计模式,它保证一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下都非常有用,例如管理共享资源,如数据库连接池,或者确保某个对象在整个系统中的唯一性。下面我们...

    singleton设计模式java实现及对比

    这种方法结合了前两种方式的优点,既延迟初始化又避免了不必要的同步。 ```java public class Singleton { private volatile static Singleton instance; private Singleton() {} public static Singleton ...

    Singleton模式

    为了解决懒汉式的线程安全问题,可以采用以下两种方式: - **双重检查锁定(Double-Checked Locking)**:在多线程环境下,只有当instance为null时才进行同步,降低了同步的开销。 ```java public class Singleton ...

    singleton单例模式1

    单例模式有两种实现方式:饿汉式和懒汉式。 饿汉式是指在类初始化时直接创建实例对象,不管你是否需要这个对象都会创建。例如: ``` Class persion{ Public static final persion INNER; Static { INNER=new ...

    单例模式Singleton

    在Java中,单例模式的实现方式多种多样,但常见的有饿汉式(Eager Initialization)和懒汉式(Lazy Initialization)两种。 1. **饿汉式**: 饿汉式是在类加载时就完成了初始化,所以类加载比较慢,但获取对象的...

    单例模式 Singleton Pattern

    - **设备管理**:例如,两台打印机不能同时打印同一个文件,需要通过单例模式来协调。 #### 优缺点 - **优点**: - 内存优化:在内存中只有一个实例,减少内存开销。 - 资源保护:避免对资源的多重占用。 - **...

    Singleton 单件(创建型模式)

    在Java中,通常我们采用懒汉式和饿汉式两种方式实现 Singleton。 1. **懒汉式 Singleton**:延迟初始化,只有在第一次调用 getInstance 方法时才创建实例。这种方式线程不安全,如果在多线程环境下可能会创建多个...

    Singleton 单例模式的介绍以及解析

    单例模式是软件设计模式中的一种经典模式,它在Java、C++、Python等众多编程语言中被广泛应用。单例模式的主要目的是确保一个类只有一个实例,并提供全局访问点,这样可以有效地控制资源的共享,避免因为多次实例化...

    singleton.zip单例的几种实现demo,

    在"singleton.zip"压缩包中,我们可能会找到几种不同的Java单例实现方式的示例代码,包括饿汉式、懒汉式、反射实现以及内部类实现等。以下是对这些单例模式实现方式的详细解释: 1. **饿汉式(Eager Initialization...

    JAVA单例模式的几种实现方法

    ### JAVA单例模式的几种实现方法 #### 一、饿汉式单例类 饿汉式单例类是在类初始化时就已经完成了实例化的操作。这种实现方式简单且线程安全,因为实例化过程是在编译期间完成的,不会受到多线程的影响。 **代码...

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

    以下是两种常见的单态模式实现方式: 1. 饿汉式(Eager Initialization): 这种方式在类加载时就完成了初始化,所以类加载比较慢,但获取实例的速度快,且线程安全。如: ```java public class Singleton { ...

    Python使用metaclass实现Singleton模式的方法

    在Python编程中,Singleton模式是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点。这个模式在某些场景下非常有用,例如管理共享资源、配置对象或者数据库连接。在Python中,通常通过元类(metaclass...

    Singleton Pattern 源码

    实现单例模式通常有两种主要方法:饿汉式和懒汉式。 1. 饿汉式单例: 这种方式在类加载时就完成了初始化,因此线程安全。但是由于类加载较早,即使在单例不需要时也创建了对象,可能造成内存浪费。 ```java ...

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

    在C#中实现Singleton模式,通常有两种常见的方法:懒汉式和饿汉式。 1. **懒汉式(线程不安全)** 这是最直观的实现方式,首次使用时才创建实例。但这种实现方式在多线程环境下可能导致多个线程同时创建实例,破坏...

    23种设计模式的java实现源代码.RAR

    本压缩包包含的是23种经典设计模式的Java实现源代码,下面我们将详细探讨其中的两种主要模式:单例模式和工厂模式。 1. 单例模式(Singleton Pattern): 单例模式是一种确保一个类只有一个实例,并提供全局访问点...

    SingleTon的模板(template)化应用

    单例模式通常包含两个关键点:一是控制类的实例化过程,只允许创建一个实例;二是提供一个全局访问点,使得任何地方都可以获取到这个唯一的实例。传统的C++单例实现可能使用静态成员变量和私有构造函数来达到这一...

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

    模板设计模式是一种行为型设计模式,它定义了一个算法的骨架,并允许子类为算法的某些步骤提供具体的实现。通过这种方式,算法的基本流程保持不变,但各个步骤可以根据实际需求进行定制。 在给出的部分代码中,我们...

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

    单例模式有两种常见的实现方式:饿汉式和懒汉式。 - 饿汉式(Eager Initialization):在类加载时就创建了单例对象,这种方式简单且线程安全,但可能会造成资源浪费,因为即使单例未被使用,也会在类加载时创建。 `...

Global site tag (gtag.js) - Google Analytics