在Java中,如果我有很多本地对象,如果将它们定义为实例变量,它会运行得更快吗?例如,如果我的func1()被多次调用,例如在一个循环中,那么每次调用该函数时,JVM会不会实例化并垃圾收集list2?我应该重复使用相同的list1对象来防止垃圾收集和实例化开销?Java优化:本地变量与实例变量
class A {
List list1 = new ArrayList();
private void func1() {
list1.clear();
// add new objects list1
List list2 = new ArrayList();
// add new objects to list2
}
}
优化器是否足够智能以跳过垃圾回收并自动重用该对象?
'Optimization.PREMATURE == Math.sqrt(EvilUtils.getAll(Evil.class))'求值真的......你确定这个问题给你带来了问题,还是仅仅是一个过早优化的情况?它闻起来像是我的第二个案例... – ppeterka
只是好奇心。想要了解当我需要坐下来优化我的代码时可用的选项。 – JavaMan