与整数的分配和垃圾收集相比,调用静态方法更快的假设是否正确?
或者,换句话说,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 会更有效率,分配比函数调用更便宜。
关于java - 静态函数访问速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7500424/