假设我需要访问变量'asdf‘大约1000次。
更快的是:创建对象Foo并将其作为参数传递给bar构造函数,然后通过getter或静态访问Foo的数字来访问它。或者这两种方法具有相同的性能?
Class Foo {
public int asdf;
}
Class Bar {
Foo foo;
Bar(Foo foo1) {
this.foo = foo;
}
public void funcBar() {
foo.asdf;
}
}
Class Foo {
public static int asdf;
}
Class Bar {
public void funcBar() {
Foo.asdf;
}
}发布于 2017-08-04 04:23:59
根据SO用户Mike Nakis的说法,作为对您问题的纯粹回答,静态调用将是最快的,其次是非虚拟调用,然后是虚拟调用。你可以看到他的回答here。尽管如此,还是要考虑代码的可读性。拥有清晰的、可维护的代码要比挤出每一分性能,但不能被其他开发人员理解的代码要好。在许多情况下,检索的速度可以忽略不计。
发布于 2017-08-04 04:21:37
1000次算不了什么。
因此,您可以使用直接和“干净”的方式编写代码来完成工作。
担心好的设计,而不是把时间浪费在解决不存在的性能问题上。
https://stackoverflow.com/questions/45493828
复制相似问题