ŁukaszRzeszotarski
是否可以以编程方式检查某个对象占用了多少内存(整个子树在JVM内存中)。我想说(来自java代码)
“告诉我们,当我们假设所提到的JPanel是该树的根时,请问当前JVM中使用JPanel和整个引用子树的内存量是多少”。
我想知道是否可以通过这种方式比较两个JPanels(或JFrame或其他任何东西)占用多少内存,而需要花费更多的内存-而不分析转储。我想知道答案是否是“是”,这个值有多精确。
拉代
正如您的问题注释中所述,java中的sizeOf问题不容易解决,这不仅是因为您尝试调整大小的对象实际上并不是内存图的根,而且还因为计算静态字段的大小存在问题等等(它们属于整个类,而不是任何特定的实例)。
但是,有一些方法可以获取一些有意义的数据。
第一种方法是使用附加到jvm的java代理,该代理又调用sun / oracle从Java 6开始添加的大小估计函数。有关说明,请参见本页
第二种方法是基于理论计算来估计对象树的大小。还有,这是否给你一个库在这里
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句