java列表的内存占用计算和GC计算

java列表的内存占用计算和GC计算,java,list,object,garbage-collection,memory-footprint,Java,List,Object,Garbage Collection,Memory Footprint,我有一个应用程序,可以创建大小为1300的hashMap。哈希映射中的值是一个名为employee Data的对象,key只是一个字符串名。对象有一个列表。对象中的其他字段为字符串或双精度字段。对象中的列表大小在4到5000之间变化。我想粗略计算一下内存消耗量。你能帮我吗?我还想知道GC如何释放这个内存 我做了一些计算: 其他字段每个将消耗大约512字节 我不知道如何计算清单的消耗量。该列表包含所有双精度值。 此外,我不知道对象的内存会随着列表大小的不同而增加多少,也不知道它会如何影响总体内存消

我有一个应用程序,可以创建大小为1300的hashMap。哈希映射中的值是一个名为employee Data的对象,key只是一个字符串名。对象有一个列表。对象中的其他字段为字符串或双精度字段。对象中的列表大小在4到5000之间变化。我想粗略计算一下内存消耗量。你能帮我吗?我还想知道GC如何释放这个内存

我做了一些计算: 其他字段每个将消耗大约512字节 我不知道如何计算清单的消耗量。该列表包含所有双精度值。
此外,我不知道对象的内存会随着列表大小的不同而增加多少,也不知道它会如何影响总体内存消耗。

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


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

如何计算列表的内存足迹?有没有一种方法可以从理论上计算出来?是的。。。如果您足够了解对象在堆中的表示方式以及HashMap的内部细节、您正在使用的列表类、自定义类等等。但分析是乏味的。对于集合,大小可能取决于集合对象的过去历史记录。