Java : Is the get method of an Arraylist cached?

标签 java performance memory arraylist get

Arraylist 对象是否将最后请求的值存储在内存中以便下次更快地访问它?还是我需要自己做?

或更具体地说,就性能而言,这样做是否更好:

for (int i = 0; i < myArray.size(); i++){
    int value = myArray.get(i);

    int result = value + 2 * value - 5 / value;
}

不要这样做:

for (int i = 0; i < myArray.size(); i++)
    int result = myArray.get(i) + 2 * myArray.get(i) - 5 / myArray.get(i);

最佳答案

就性能而言,一点也不重要。不,ArrayList 不会缓存任何内容,尽管 JIT 化的最终结果可能是一个不同的问题。

如果您想知道使用哪个版本,请使用第一个版本。更清楚了。

关于Java : Is the get method of an Arraylist cached?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808572/

相关文章:

java - 哪种noSQL DB适合变量多字段的快速查询?

javascript - 迭代性能比较

C++ 程序使用的内存比系统上可用的内存多?

代码在 c 上崩溃,很可能与 malloc 有关?

java - 反序列化 json 时从 JsonArray 中排除 NULL

java - HashMap.computeIfAbsent 在多线程使用下如何失败?

java - 如何从 CLI 将 Gradle 任务拆分为纯编译和纯执行任务?

java - 安卓 : date format in a String

算法速度顺序

java - 多维数组对象内存位置