gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-28 23:35:21 25 4
gpt4 key购买 nike

我想测试一个对象引用在我正在使用的 Java VM 中使用了多少字节。你们知道如何测试吗?

谢谢!

最佳答案

从字面上看,在大多数 JVM 上,32 位 JVM 上的所有引用占用 4 个字节,一个 64 位 JVM,一个引用占用 8 个字节,除非使用了 -XX:+UseCompressedOops,在这种情况下占用 4 个字节-字节。

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

但是,如果您有内存问题,我建议您使用内存分析器。这将为您提供使用的浅层和深空物体,并为您提供整个系统的图片。这通常更有用,因为您可以从最大的消费者开始并优化它们,即使您已经开发 Java 十年+,除非您有硬数据,否则您只会猜测哪里是优化的最佳位置。

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

关于java - java - 如何测试对象引用在Java中使用了多少字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5520731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com