当前位置: 首页 > 面试题库 >

在heapdump上对象的保留大小是多少?

徐鸿达
2023-03-14
问题内容

我最近在Netbeans(6.7)中增加了对Profiler的使用,这是一个很棒的工具。

我有一个问题。进行堆转储时,可以在摘要页面(期望窗口)上“按保留的大小查找最大的对象”。

这个值是什么,如何将其用于分析内存使用情况?


问题答案:

对象的保留大小是该对象从垃圾回收保留的内存量。

形式上的定义是“对象的大小加上递归仅由第一个对象引用的所有对象的大小”。

有关保留的内存是什么的更多说明,请参见本文。

记住它的一种简单方法是,保留内存是如果取消引用此对象可以将所有垃圾回收的内存。



 类似资料:
  • 我看了最简单的物体,甚至那些都不一样...对于java.lang.Integer,VisualVm报告20个字节,而不是其他的16个字节(在我的解释中,这是因为从Integer类中提交的=12字节header+4字节int'value'=16,不需要填充)。 哪一个是正确的,为什么?

  • 问题内容: 众所周知,java使用以下数据类型 如果我创建一个像 现在的问题是大小尺寸是。请以适当的理由给我澄清。 谢谢, Anil Kumar C 问题答案: 对象的内存大小取决于体系结构,主要取决于VM是32位还是64位。实际的VM实施也很重要。 对于每个对象,您需要为其对象标头(在64位VM上通常为2 * 8字节),其字段(根据VM的实现需要额外的对齐空间)的空间。然后将最后的空间四舍五入到

  • 问题内容: 我尝试使用Python的ConfigParser模块保存设置。对于我的应用程序,重要的是要在我的部分中保留每个名称的大小写。文档提到将str()传递给ConfigParser.optionxform()可以完成此操作,但对我而言不起作用。名称均为小写。我想念什么吗? 我得到的Python伪代码: 问题答案: 该文档令人困惑。他们的意思是: 即覆盖optionxform,而不是调用它;重

  • 有很多关于堆大小的帖子和站点,但是没有一个提到在调用JVM时如何找出我可以保留的最大可能堆大小。 任务是用最大可用堆大小xmx=max动态启动我的jvm(这里不需要讨论这个任务的对象!)。 我们可以考虑读取当前可用或空闲的内存,并将该大小用于xms和XMX。但这不起作用。 调用Java程序时: Java-XMS1536M-XMX1536M myApp 导致: 选择您选中的应用程序大约需要的堆。并在

  • 我有一个对象。该对象有一个功能,即多边形对象,它本身由多个多边形对象组成。 我想子集空间多边形对象,以便多边形对象只有一个多边形对象,即面积最大的多边形。 我已经尝试了许多不同的方法,但都不知道如何在子多边形层次上设置子集。 下面是一个例子: 在此示例中,SpP有一个多边形对象。多边形对象的第一个子多边形具有面积5.5,第二个子多边形具有区域1.5。我希望将SpatialPolygons对象子集化

  • 问题内容: 我正在创建一个JavaScript对象,如下所示 之后,我将它们如下 上面的方法是否按照对象先前的顺序对它们进行了字符串化处理?字符串化后,它们将按照以前的顺序排列为0,1,2 .... 9吗? 问题答案: 文档中没有任何内容可以明确确认数组项的顺序已保留。但是,文档指出,对于非数组属性,不能保证顺序: 非数组对象的属性不能保证以任何特定顺序进行字符串化。不要依赖于字符串化中同一对象内