问个问

来源:7-2 Lombok的那些事儿

慕容9054781

2020-05-14

老师为什么给Getter注解加一个懒加载属性,注解所修饰的属性在class文件里显示就是原子对象了

写回答

1回答

张小喜

2020-05-24

这个问题问的好

是这样,@Getter的懒加载参数执行添加到对象A的final的属性上,它的目的是不想让这个属性在对象A初始化就赋值。想,如果这个属性要赋值的value是一个创建非常耗时的对象B,那没必要在对象A刚初始化就去创建对象B,完全可以在使用final这个属性时再来创建对象B。这就是懒加载的原因。

然后,在final属性get的时候创建对象B,要保证线程安全,所以这里定义属性的时候使用了原子类防止并发,并且使用了synchronized锁机制来保证创建对象B时候的线程安全。

//img1.sycdn.imooc.com/szimg/5eca2058091f514618820810.jpg

1
1
慕容9054781
非常感谢!
2020-05-26
共1条回复

Java高效编程技巧实践 告别996

可以改变的编程效率

1451 学习 · 326 问题

查看课程