Class AtomicLoader<T>

java.lang.Object
org.miaixz.bus.core.lang.loader.AtomicLoader<T>
Type Parameters:
T - 被加载对象类型
All Implemented Interfaces:
Serializable, Loader<T>

public abstract class AtomicLoader<T> extends Object implements Loader<T>, Serializable
原子引用加载器 使用AtomicReference 实懒加载,过程如下
 1. 检查引用中是否有加载好的对象,有则返回
 2. 如果没有则初始化一个对象,并再次比较引用中是否有其它线程加载好的对象,无则加入,有则返回已有的
 
当对象未被创建,对象的初始化操作在多线程情况下可能会被调用多次(多次创建对象),但是总是返回同一对象
Since:
Java 17+
Author:
Kimi Liu
See Also: