我无法解决以下Sonar关键问题:
地址同步不一致;锁定60%的时间
adress是java类中的私有属性,其getter及其setter如下:
private String address;
public String getAddress() {
return this.address;
}
public void setAddress(String address) {
this.address = address;
}
知道如何修复它吗?或者我怎么知道地址是不一致的同步?
声纳给出的问题规则是:
此类的字段似乎与之不一致 尊重同步。此错误报告表明该错误 模式检测器判断
该类包含锁定和未锁定访问的混合,至少一个 锁定访问是由一个类自己的方法执行的,而The 非同步字段访问(读取和写入)的数量已不复存在 超过所有访问的三分之一,写入被称重两次 高读取与此错误模式匹配的典型错误是忘记了 同步一个类中的一个方法 线程安全的。
您可以选择标有"非同步访问"的节点。显示 检测器认为已访问字段的代码位置 没有同步。
请注意,此探测器存在各种不准确的原因; 例如,探测器无法静态检测到所有情况 哪个是锁。而且,即使检测器准确无误 区分锁定访问和未锁定访问,有问题的代码可以 仍然是正确的。