我正在开发一个类,它将表示Java中表的一组行。行可以是紧凑或扩展格式。可以使用函数调用检测对象中的内部格式。
我正在尝试编写单元测试,以紧凑和扩展格式了解此对象的内存占用。我为此使用了记忆计https://github.com/jbellis/jamm)。我注意到,即使底层数据在不同的运行中保持不变,对象的深度也会显示不同。我对此有点困惑。我的期望是遍历对象图应该给我正确的sizeof(对象)估计。这可能是我正在使用的包裹的问题,还是我的期望错误?
答案 0 :(得分:1)
如果测试中的代码使用延迟初始化,或者测试用例执行不同的操作,则内存中的实际实例可能在计数,大小和偶尔类型上有所不同。
我会验证您的不同运行使用相同的测试用例,如果不是,我不会认为具有相同输入的内存消耗是等效的。