gpt4 book ai didi

java - 为什么创建一个大的 Java 数组会消耗这么多内存?

转载 作者:搜寻专家 更新时间:2023-11-01 00:59:08 25 4
gpt4 key购买 nike

为什么会出现下面这行

    Object[] objects = new Object[10000000];

导致 JVM 使用大量内存(~40M)?分配数组时,有什么方法可以了解 VM 的内部工作原理?

最佳答案

好吧,这为 10000000 个引用分配了足够的空间,并为数组对象本身分配了少量开销。

实际大小将取决于 VM - 但它占用大量内存肯定不足为奇...我预计至少 40MB,64 位可能为 80MB位 VM,除非它使用 compressed oops对于数组。

当然,如果你用那么多不同的对象填充数组,那将占用更多、更多的内存……但数组本身仍然需要空间来存储引用。

关于java - 为什么创建一个大的 Java 数组会消耗这么多内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3719015/

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