Java 重复方法调用VS局部变量
多次调用同一个方法而不是创建局部变量是一个问题。我的意思是在性能方面Java 重复方法调用VS局部变量,java,performance,variables,methods,Java,Performance,Variables,Methods,多次调用同一个方法而不是创建局部变量是一个问题。我的意思是在性能方面 int myLocalVarieble = bar.getLocalVariable(); foo1.setAttribute(myLocalVariable); foo2.setAttribute(myLocalVariable); 或 取决于调用getLocalVariable()的成本。对于这个特定的例子,这似乎相对便宜,因为它是一个简单的getter,所以没有什么害处 但是,假设getLocalVariable()需
int myLocalVarieble = bar.getLocalVariable();
foo1.setAttribute(myLocalVariable);
foo2.setAttribute(myLocalVariable);
或
取决于调用getLocalVariable()的成本。对于这个特定的例子,这似乎相对便宜,因为它是一个简单的getter,所以没有什么害处 但是,假设getLocalVariable()需要30秒才能返回,那么第一个示例更可取。如果
getLocalVariable()
本身有很大的性能开销,或者如果它可能在调用之间更改其值,您可能希望避免调用它两次。否则,这无关紧要。您最好使用JMH并创建基准测试方法来测试您的特定案例。
foo1.setAttribute(bar.getLocalVariable());
foo2.setAttribute(bar.getLocalVariable());