21xrx.com
2024-11-22 13:19:46 Friday
登录
文章检索 我的文章 写文章
Java 面试题:如何实现单例模式
2023-06-15 15:53:31 深夜i     --     --

在 Java 开发中,单例模式是一种常见的设计模式,用于确保某个类在整个应用程序中仅存在一个实例,并提供全局访问点。如果你正在准备 Java 面试,那么有关单例模式的问题肯定是你必须要掌握的。

下面我们来探讨一下如何实现单例模式。首先最简单的方式就是使用懒汉式单例模式,即在需要时再创建实例对象,具体实现代码如下:


public class Singleton {

  private static Singleton instance;

  private Singleton() {}

  public static Singleton getInstance() {

   if(instance == null) {

     instance = new Singleton();

   }

   return instance;

  }

}

但是这种方式在多线程环境下会出现线程安全问题,当多个线程同时调用 getInstance() 方法时,可能会创建多个实例。为了解决这个问题,我们可以使用饿汉式单例模式,即在类加载时就创建实例对象。具体实现代码如下:


public class Singleton {

  private static Singleton instance = new Singleton();

  private Singleton() {}

  public static Singleton getInstance()

   return instance;

 

}

除此之外,还有其他方式实现单例模式,比如双重校验锁单例模式、静态内部类单例模式等,根据实际情况选择合适的方式。

Java 面试题、单例模式、懒汉式单例模式、饿汉式单例模式、线程安全

  
  

评论区

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