【问题标题】:Memory Footprint calculation of a java list and GC calculation [duplicate]java列表的内存占用计算和GC计算[重复]
【发布时间】:2020-02-18 01:00:14
【问题描述】:

我有一个创建大小为 1300 的 hashMap 的应用程序。哈希映射中的值是一个名为员工数据的对象,而键只是一个字符串 - EmpName。该对象有一个列表。对象中的其他字段是 String 或 double。对象中的列表大小在 4 到 5000 之间变化。我想粗略计算一下内存消耗。你能帮我吗?我也想知道 GC 是怎么释放这块内存的。

我做了一些计算: 其他字段每个将消耗大约 512 个字节 我不确定如何计算列表的消耗。该列表包含所有双精度值。 另外,我不知道随着列表大小的不同,对象的内存会增加多少,以及它将如何贡献整体内存消耗。

【问题讨论】:

标签: java list object garbage-collection memory-footprint


【解决方案1】:

这可能是您正在寻找的答案。

Memory usage for a specific list of object

一旦列表不再引用对象,这些对象将被垃圾收集; IE;当对象从列表中移除时。

【讨论】:

  • 如何计算列表的内存占用?
  • 有没有办法理论上可以计算出来?
  • 是的...如果您对堆中对象的表示方式以及 HashMap 的内部细节、您正在使用的 List 类、您的自定义类等有足够的了解。但是分析起来很乏味。对于集合,大小可能取决于集合对象的过去历史记录。
猜你喜欢
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
  • 2015-03-24
  • 2018-09-04
  • 2022-12-18
  • 2021-07-08
  • 2015-05-09
相关资源
最近更新 更多