21xrx.com
2024-11-05 19:36:25 Tuesday
登录
文章检索 我的文章 写文章
Java面试题:如何使用Java实现单例模式?
2023-06-16 13:29:32 深夜i     --     --
Java 单例模式 实现

单例模式是一种常用的设计模式,它可以保证系统中只有一个实例对象被创建并且访问。在Java中,我们可以使用多种方式来实现单例模式,下面我们就来探讨一下其中的两种。

1. 饿汉式单例模式

饿汉式单例模式就是在初始化时直接创建一个实例,保证在系统启动后无需等待创建实例,代码如下:


public class Singleton {

  // 创建单例对象

  private static Singleton instance = new Singleton();

  // 私有构造函数,防止外部实例化

  private Singleton(){}

  // 提供外部访问该单例实例的方法

  public static Singleton getInstance()

   return instance;

 

}

2. 懒汉式单例模式

懒汉式单例模式则是在需要使用时才创建实例,这种方式的好处是可以延迟实例化,减少系统负担,代码如下:


public class Singleton {

  // 创建单例对象,使用volatile关键字保证在多线程环境下对象创建的可见性

  private static volatile Singleton instance;

  // 私有构造函数,防止外部实例化

  private Singleton(){}

  // 提供外部访问该单例实例的方法,并在第一次访问时进行实例化

  public static Singleton getInstance() {

   if (instance == null) {

     synchronized (Singleton.class) {

      if (instance == null) {

        instance = new Singleton();

      }

     }

   }

   return instance;

  }

}

以上就是使用Java实现单例模式的两种方式,大家可以根据自己的实际需求来选择使用哪种方式。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复