21xrx.com
2024-11-22 04:08:16 Friday
登录
文章检索 我的文章 写文章
Java单例模式实现
2023-07-01 09:38:12 深夜i     --     --
Java 单例模式 实现

Java是一种基于面向对象的编程语言,被广泛应用于各种领域。在Java开发中,单例模式是一个常见的设计模式,它可以保证在整个应用程序中只有一个实例对象存在。

在Java中,实现单例模式有多种方式,下面就来介绍其中的两种方式。

1. 饿汉式

饿汉式是最简单的实现单例模式的方式之一。它的核心思想是在类加载时就创建唯一的实例对象。

具体实现代码如下:


public class Singleton {

  private static Singleton instance = new Singleton();

  

  private Singleton() {}

  

  public static Singleton getInstance()

    return instance;

  

}

这种方式具有简单、稳定、线程安全等优点,但是在应用程序启动时就会创建对象,如果创建的对象比较耗费资源,会对启动速度产生影响。

2. 懒汉式

懒汉式是延迟创建对象的方式,只有在需要使用的时候才会创建对象。这种方式在实现上比较复杂,需要注意线程安全问题。

具体实现代码如下:


public class Singleton {

  private volatile static Singleton instance;

  

  private Singleton() {}

  

  public static Singleton getInstance() {

    if (instance == null) {

      synchronized (Singleton.class) {

        if (instance == null) {

          instance = new Singleton();

        }

      }

    }

    return instance;

  }

}

需要注意的是,为了保证线程安全,需要在创建实例对象时加上volatile关键字,避免指令重排序导致的线程不安全问题。

综上所述,Java单例模式实现有多种方式,并且每种方式都有其优缺点。在实际应用中,需要结合具体场景进行选择和使用。

  
  

评论区

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