http://findbugs.sourceforge.net/bugDescriptions.html#SP_SPIN_ON_FIELD只是一个问题,字段不是volatile
,对吗?
http://findbugs.sourceforge.net/bugDescriptions.html#MDM_WAIT_WITHOUT_TIMEOUT令人困惑 - 这是什么意思?
答案 0 :(得分:1)
http://findbugs.sourceforge.net/bugDescriptions.html#SP_SPIN_ON_FIELD唯一的问题是该字段不易变,对吗?
正确。
http://findbugs.sourceforge.net/bugDescriptions.html#MDM_WAIT_WITHOUT_TIMEOUT令人困惑 - 这是什么意思?
我不再在列表中看到它了。
答案 1 :(得分:0)
回答你的第一个问题: -
没有SP_SPIN_ON_FIELD不仅与非易失性实例字段相关,即使易失性字段也可能导致此错误。
Plz参考下面的代码,它有一个volatile字段,但仍显示此错误(SP_SPIN_ON_FIELD): -
public class FindBugSP
{
private volatile int mCountOne = 0;
/**
* DEFAULT CONSTRUCTOR
*
*/
private FindBugSP()
{
//DO NOTHING
super();
}
/**
* Method implementing actual scenario of FindBugs bug code - SP
*/
void problem()
{
while(true)
{
if(mCountOne == 0)
{
break;
}
}
}
/**
* Method implementing solution for actual scenario of FindBugs bug code - SP
*/
void solution()
{
while(true)
{
if(mCountOne ==5)
{
break;
}
mCountOne++;
}
}
}
现在回答你的第二个问题: - MDM_WAIT_WITHOUT_TIMEOUT已从bug代码列表中删除。