gpt4 book ai didi

java - 静态最终字段的同步 getter

转载 作者:太空宇宙 更新时间:2023-11-04 14:03:11 24 4
gpt4 key购买 nike

我正在查看下面的代码片段,坦率地说,我不明白使这个特定的 getter 同步背后的想法是什么。

public class MVELSafeHelper {
private static final MVELEvaluator evaluator;
static {
evaluator = KiePolicyHelper.isPolicyEnabled() ? new SafeMVELEvaluator() : new RawMVELEvaluator();
}
public static synchronized MVELEvaluator getEvaluator() {
return evaluator;
}
//
}

我不是并发方面的专家,我相信 Drools 项目的人比我更有经验,但我只是想知道这是否是一个拼写错误,或者这个构造在某些情况下是否值得,因此我的服务器 40% 的 CPU 时间并没有白花。

最佳答案

并发问题已经通过将变量声明为最终的、静态的并且没有 setter 来解决。所以我认为没有必要保持方法同步。

如果它是关于变量实例化,那么由于它在静态 block 中,无论如何它都会在 getter 调用之前执行。

所以你是绝对正确的:)

关于java - 静态最终字段的同步 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29113285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com