栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何测试对象引用在Java中使用多少字节?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何测试对象引用在Java中使用多少字节?

从字面上考虑这个问题,在大多数JVM上,在32位JVM上的所有引用都占用4个字节,一个64位JVM则占用8个字节,除非已使用-XX:+
UseCompressedOops,在这种情况下,它需要4个字节。

我假设您在问如何分辨一个对象占用了多少空间。您可以使用Instrumentation(这不是一件简单的事情),但这只会给您带来深度。Java倾向于将您分解为许多对象,而C
++可能只是一个单一的结构,因此它没有那么有用。

但是,如果您遇到内存问题,建议您使用内存分析器。这将为您提供浅层和深层空间物体的使用,并为您提供整个系统的图像。这通常会更有用,因为您可以从最大的使用者开始并进行优化,就算您已经开发Java十多年以上,除非您拥有硬数据,否则您只会猜测最佳的优化位置。

如果您不想使用事件探查器,则获取对象大小的另一种方法是分配一个大数组并查看消耗了多少内存。您必须多次执行此操作才能很好地了解平均大小。我会设置很高的年轻空间,以避免GC混淆您的结果,例如

-XX:NewSize=1g



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498354.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号