java.lang.Object
org.miaixz.bus.core.lang.loader.AtomicLoader<T>
- Type Parameters:
T- 被加载对象类型
- All Implemented Interfaces:
Serializable,Loader<T>
原子引用加载器 使用
AtomicReference 实懒加载,过程如下
1. 检查引用中是否有加载好的对象,有则返回 2. 如果没有则初始化一个对象,并再次比较引用中是否有其它线程加载好的对象,无则加入,有则返回已有的当对象未被创建,对象的初始化操作在多线程情况下可能会被调用多次(多次创建对象),但是总是返回同一对象
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Constructor Details
-
AtomicLoader
public AtomicLoader()
-
-
Method Details
-
get
获取一个对象,第一次调用此方法时初始化对象然后返回,之后调用此方法直接返回原对象 -
isInitialized
public boolean isInitialized()Description copied from interface:Loader是否已经初始化完毕- Specified by:
isInitializedin interfaceLoader<T>- Returns:
- 是否已经初始化完毕
-
init
初始化被加载的对象 如果对象从未被加载过,调用此方法初始化加载对象,此方法只被调用一次- Returns:
- 被加载的对象
-