【发布时间】:2013-01-06 04:52:17
【问题描述】:
考虑以下两个代码示例:
示例 1.
public void setValue(int value)
{
mValue = value;
}
示例 2。
public void setValue(int value)
{
if (mValue != value)
{
mValue = value;
}
}
假设您的任务是优化一些 Java 代码到绝对最大值,超出所有常识。
第二个代码示例会是第一个代码示例的优化吗?我的意思是,在 Java 或 JVM 的最低级别的 if 条件检查和 int 赋值之间有什么区别(无论多么微小)?
【问题讨论】:
-
“超出所有常识” - 确实。
-
收益部分取决于您将相同值分配给
mValue的频率。如果这种情况很少发生,那么比较是不必要的开销。
标签: java performance optimization jvm atomic