gpt4 book ai didi

java - 比较排序操作中使用静态数组和 java.util.ArrayList 的内存使用情况

转载 作者:行者123 更新时间:2023-12-02 04:20:16 28 4
gpt4 key购买 nike

Runtime rt = Runtime.getRuntime();
long totalM = rt.totalMemory();
long currentM;

int []n = new int[10000];
System.out.print("10000 ints used: ");
System.out.println(totalM - rt.freeMemory());

它不工作。我们不能用long来计算吗?

预先感谢,请给我一些建议

最佳答案

回答标题中隐含的问题:“排序操作中使用静态数组和java.util.ArrayList的内存使用情况”有什么区别。

在 Java 8 中:。这是因为排序被委托(delegate)给 ArrayList 类,该类直接使用 Arrays.sort() 对支持数组进行排序。

在Java 7及以下版本中,列表被转换为数组,数组被排序,结果被放回到列表中。因此,数组的内存加倍,再加上排序操作本身需要的任何额外内存,这取决于 Java 的版本。
Java 8 中的 LinkedList 也会发生这种情况。

关于java - 比较排序操作中使用静态数组和 java.util.ArrayList 的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32853261/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com