【发布时间】:2016-08-02 02:00:57
【问题描述】:
我有一个运行 4096 次的 for 循环,它应该尽可能快。性能在这里非常重要。目前我在循环中使用 getter 方法,它只返回在循环进行时不会更改的字段中的值或对象。
例子:
for (;;) {
doSomething(example.getValue());
}
使用 getter 是否有任何开销?使用下面的方式是不是更快?
例子:
Object object = example.getValue();
for (;;) {
doSomething(object);
}
如果是,那么访问像 example.value 这样的公共字段也是如此吗?
编辑:我不在循环内使用System.out.println()。
编辑:某些字段不是final。没有字段是volatile,也没有方法(getter)是synchronized。
【问题讨论】:
-
将输出保存在本地字符串中会比 getter 或对象取消引用更快。但这是以“十几岁”来衡量的
标签: java performance loops for-loop getter