diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java
new file mode 100644
index 000000000..0b609c47b
--- /dev/null
+++ b/hutool-core/src/main/java/cn/hutool/core/lang/loader/LazyFunLoader.java
@@ -0,0 +1,46 @@
+package cn.hutool.core.lang.loader;
+
+import cn.hutool.core.lang.Assert;
+
+import java.util.function.Supplier;
+
+/**
+ * 函数式懒加载加载器
+ * 传入用于生成对象的函数,在对象需要使用时调用生成对象,然后抛弃此生成对象的函数。
+ * 此加载器常用于对象比较庞大而不一定被使用的情况,用于减少启动时资源占用问题
+ * 继承自{@link LazyLoader},如何实现多线程安全,由LazyLoader完成。
+ *
+ * @param 被加载对象类型
+ * @author Mr.Po
+ * @see cn.hutool.core.lang.loader.LazyLoader
+ */
+public final class LazyFunLoader extends LazyLoader {
+
+ /**
+ * 对象生成函数
+ */
+ private Supplier supplier;
+
+ public LazyFunLoader(Supplier supplier) {
+ Assert.notNull(supplier);
+ this.supplier = supplier;
+ }
+
+ @Override
+ protected T init() {
+
+ T t = this.supplier.get();
+ this.supplier = null;
+
+ return t;
+ }
+
+ /**
+ * 是否已经初始化
+ *
+ * @return 是/否
+ */
+ public boolean isInitialize() {
+ return this.supplier == null;
+ }
+}