Skip to main content

Java常用编码技巧

作草分茶Less than 1 minute

Java常用编码技巧

LazyHolder 实现单例

Java中实现单例的几种方式之一是使用LazyHolder单例模式。这是一种懒加载方式,当需要使用时再去初始化,避免了提前初始化的浪费,同时也是线程安全的。

LazyHolder单例模式的核心思想是定义一个私有的静态类,在这个类内部定义一个私有的静态变量,用于持有单例对象,外部通过公共的静态方法获取单例对象。

以下是LazyHolder单例模式的实现方式:

public class LazySingleton {
    private LazySingleton() {}

    private static class LazyHolder {
        private static final LazySingleton INSTANCE = new LazySingleton();
    }

    public static LazySingleton getInstance() {
        return LazyHolder.INSTANCE;
    }
}

通过这种方式定义的单例模式,生命周期与整个应用程序相同,只有在应用程序退出时才会释放掉。