假设调用静态方法比分配和垃圾回收整数要快是正确的吗?

或者换句话说,fh1或fh2是更好的选择吗?在fh1中避免分配,但fh2似乎更简单。在这种情况下,G.f()是一个相对简单的方法,将经常被调用。 fh2和fh1也将经常被调用(每秒可能被调用30次)。

伪代码:

class G {
  static method int f() {.......}
}

class H {
  method fh1(){
    somemethod1(G.f());
    somemethod2(G.f());
    somemethod3(G.f());
  }

  method fh2(){
    int a = G.f();
    somemethod1(a);
    somemethod2(b);
    .....
  }
}

最佳答案

每秒30次的频率不高(通常每秒100万次)。因此,这里没有问题,因此请不要对其进行优化。

话虽如此,fh2会更高效,分配比函数调用便宜。

10-07 22:53