温馨提示×

java懒加载实现的方法是什么

小亿
94
2024-04-08 10:36:35
栏目: 编程语言

在Java中,可以使用双重检查锁定(Double-Checked Locking)实现懒加载。双重检查锁定是一种线程安全的懒加载方式,可以在多线程环境下保证只有第一次访问时才会进行实例化操作。

public class LazyLoading {
    private static volatile LazyLoading instance;

    private LazyLoading() {
    }

    public static LazyLoading getInstance() {
        if (instance == null) {
            synchronized (LazyLoading.class) {
                if (instance == null) {
                    instance = new LazyLoading();
                }
            }
        }
        return instance;
    }
}

在上面的代码中,使用了双重检查锁定来实现懒加载。首先检查实例是否已经被实例化,如果没有,则进入同步块进行实例化操作。在同步块内部再次检查实例是否被实例化,以确保在多线程环境下只有一个线程能够进行实例化操作。同时,需要将instance声明为volatile类型,以确保线程之间的可见性。

0