对于应用程序的统计信息报告,我想定期测量一个对象占用多少内存(以字节为单位)。我知道,与C / C ++不同,Java没有内置的sizeOf()方法,但可以通过Java Instrumentation实现。
然而,对于我正在开发的应用程序,存在一些限制;
我经历了问题的答案" In Java, what is the best way to determine the size of an object?"甚至接受了答案建议Java Instrumentation。由于在这种情况下不可接受,我使用Dimitris Andreou's ObjectExplorer,它使用基于反射的对象遍历框架来生成定性测量。但是,在测量大约80MB(深度)的对象时,这会消耗大量的时间和内存。所以我的问题是,还有另一种方法可以实现这一目标吗?