通过数组访问数组元素比通过函数获取它们更有效吗?

Bib*_*dum 1 java polymorphism bytecode

我正在考虑制作一个由大网格组成的对象,存储在二维数组中,以及在该网格上工作的函数.

如果我想遍历对象之外的这个数组中的元素,访问每个网格元素最可读和尊重隐私的方法是使用像grid.getElement(x,y)这样的函数,它只返回数组[ X] [Y].

当程序被编译成字节码时,这是否比通过grid.array [x] [y]直接访问数组效率低?

Lau*_*ves 6

它可能效率较低,但它取决于您的JVM.一个好的JIT可能能够内联函数,从而使代码完全等效.

唯一可以确定的方法是使用您将使用的JVM进行基准测试.在你做之前,你应该验证它是否重要.(即:配置文件然后优化)除非您的分析告诉您特定的代码片段是瓶颈,否则请使用最干净的设计,并且不要尝试像这样进行微优化.无论如何,它很有可能无法为您带来任何可衡量的性能提升,而且它肯定会使您的代码难以维护.