// Java 单例模式示例
// 饿汉式单例模式
public class Singleton {
// 1. 创建 Singleton 的私有静态实例
private static final Singleton instance = new Singleton();
// 2. 私有化构造函数,防止外部通过 new 关键字创建对象
private Singleton() {}
// 3. 提供一个公共的静态方法,返回实例对象
public static Singleton getInstance() {
return instance;
}
}
// 懒汉式单例模式(线程安全)
public class SingletonLazy {
// 1. 声明 SingletonLazy 的私有静态实例,但不初始化
private static SingletonLazy instance;
// 2. 私有化构造函数,防止外部通过 new 关键字创建对象
private SingletonLazy() {}
// 3. 提供一个公共的静态同步方法,返回实例对象
public static synchronized SingletonLazy getInstance() {
if (instance == null) {
instance = new SingletonLazy();
}
return instance;
}
}
饿汉式单例模式:
懒汉式单例模式(线程安全):
getInstance
方法时才创建,延迟加载。synchronized
关键字确保多线程环境下只有一个实例被创建。getInstance
方法时都需要进行同步,可能会影响性能。下一篇:java toarray
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站