Jdon框架中UtilCache类的volatile变量的使用探讨

09-11-25 kevinyao
    

最近正在拜读JDON源代码.觉得UtilCache类中volatile变量的处理有待商榷.

get方法中直接使用hitCount++来更新hitCount变量.

大家都知道, ++的运算符包括3个步骤:读值->运算->保存.

在多线程情况下, 更新可能失败.建议可以用下面方法替换hitCount++ ?

private synchronized long incrementHitCount()

{

return hitCount++;

}

其他volatile变量同理.

    

banq
2009-11-25 20:28

非常好,也可以用AtomicLong来替代。

不过,从Jdon框架6以后,不再使用UtilCache,而是使用EHCache,实际使用下来,到底是专业缓存产品,很快很稳定。