gpt4 book ai didi

java - ThreadLocal init 上的 FindBugs 警告

转载 作者:行者123 更新时间:2023-11-30 08:09:33 25 4
gpt4 key购买 nike

我有 ThreadLocal 实例,它是用覆盖的 initValue 方法初始化的。我还用 @edu.umd.cs.findbugs.annotations.SuppressWarnings("SIC_INNER_SHOULD_BE_STATIC_ANON") 对其进行了注释,如下所示。

@edu.umd.cs.findbugs.annotations.SuppressWarnings("SIC_INNER_SHOULD_BE_STATIC_ANON")
private ThreadLocal<Integer> dbSwitchCount=new ThreadLocal<Integer>() {
@Override
protected Integer initialValue() {
return 0;
}
};

仍然 Sonar 报告提示“性能 - 可以重新分解为命名的静态内部类”。我怎样才能确保上述投诉被忽略,或者我可以采取什么最好的方式来避免这种投诉。

最佳答案

按照 Sonar 的建议“可以重构为一个命名的静态内部类”。

命名静态内部类:

class MyClass {
static class MyThreadLocal extends ThreadLocal<Integer> {
@Override
protected Integer initialValue() {
return 0;
}
}
private ThreadLocal<Integer> dbSwitchCount = new MyThreadLocal();
}

我认为 Sonar 认为这是“性能”改进的原因是因为匿名类是非静态的,将其设为静态可以改善内存管理。

关于java - ThreadLocal init 上的 FindBugs 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402325/

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