在下面的场景中,所有3个getXxxxx()
方法都返回该类的属性而无需额外处理。
我是否更有效率地将它们分配给临时变量,就像我使用workLimit
一样,或者我应该像使用getCurrentWork()
一样使用getter?
int x = 0;
int workLimit = entity.getCurrentWorkLimit();
JobSet jobSet;
JobSetQueue queue = workflowProcess.getQueue();
while (x < workLimit && (jobSet = queue.poll()) != null) {
getCurrentWork().addLast(jobSet);
}
答案 0 :(得分:3)
VM优化了对简单getter本身的访问 - 但实际上你通常不应该关心它。因此,我通常会优化代码的可读性/可维护性而不是性能。绩效优化应基于事实,而不是假设。
答案 1 :(得分:1)
假设getCurrentWork()只返回一个变量本身,那么性能将是相同的。我认为拥有额外的变量有时会使代码更容易阅读/扫描,特别是当你有很多时。在这种情况下,我可能只是使用吸气剂。
答案 2 :(得分:0)
除了编写实时系统之外,你实际上是在购买一个较少的堆栈操作,这是一个微优化,因此几乎完全没用。
在一天结束时,个人资料个人资料个人资料