Java中的单例模式
单例模式是一种创建型设计模式,它能够确保一个类只有一个实例,并提供一个全局访问点。
在Java中,有多种实现单例模式的方法,以下是其中两种常见的方式:
- 饿汉式单例模式:
public class Singleton {
// 在类加载时就创建实例
private static Singleton instance = new Singleton();
// 私有构造函数,防止类被实例化
private Singleton() {}
// 公有静态方法,提供全局访问点
public static Singleton getInstance() {
return instance;
}
}
在饿汉式单例模式中,实例在类加载时就被创建,因此在多线程环境下也能保证只有一个实例。
- 懒汉式单例模式:
public class Singleton {
private static Singleton instance;
private Singleton() {}
// 使用双重检查锁定来确保线程安全
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
在懒汉式单例模式中,实例在第一次使用时才被创建,在多线程环境下也能保证只有一个实例。这里使用了双重检查锁定来确保线程安全。
以上是两种常见的单例模式实现方式,根据具体需求选择适合的方式
原文地址: https://www.cveoy.top/t/topic/hKTD 著作权归作者所有。请勿转载和采集!