java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > JDK26 LazyConstant

JDK26中LazyConstant的具体使用

作者:考虑考虑

LazyConstant是JDK26之后引入的新属性,是一个延迟常量,之前的JDK25中的StableValue已经移除了,改成这个了,它本质是一个持有不可变数据的容器,能够实现对象的按需初始化,下面就来详细的介绍一下

前言

LazyConstantJDK26之后引入的新属性,是一个延迟常量,之前的JDK25中的StableValue已经移除了,改成这个了,它本质是一个持有不可变数据的容器,能够实现对象的按需初始化,旨在替代传统复杂且易错的延迟初始化模式

LazyConstant使用

以往开发者为了实现延迟初始化,通常需要使用双重检查锁定,但是 LazyConstant 完美解决了上述痛点,其核心优势包括:

LazyConstant使用

public class UserService {

    public String say() {
        return "success";
    }
}
public class LazyConstantDemo {

    static void main(String[] args) {
        LazyConstant<UserService> lazyConstant = LazyConstant.of(() -> {
            System.out.println();
            return new UserService();
        });
        UserService a = lazyConstant.get();
        System.out.println(a);
    }
}

输出结果为

总结

LazyConstantJDK26的一个预览属性,但是是线程安全安全的,可以使用看看,使用 LazyConstant 非常简洁,只需通过 LazyConstant.of() 工厂方法传入一个 Supplier 函数即可定义惰性常量。该值在首次访问后会被缓存,且永不改变

到此这篇关于JDK26中LazyConstant的具体使用的文章就介绍到这了,更多相关JDK26 LazyConstant内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文