gpt4 book ai didi

java - 一个类在 JVM 中占用多少空间?

转载 作者:行者123 更新时间:2023-11-30 05:42:05 24 4
gpt4 key购买 nike

我一直在寻找不同的网站,但没有结果,因为所有搜索结果都想告诉我如何计算对象的大小,而不是类的大小。

当我们定义一个类(在 jar/war 中使用 .class 文件)并将其加载到 JVM 中时,它会占用多少空间?显然这取决于类中的实际事物,具有更多字段的类可以存储更多元数据。但如果我们举例来说,该类有 10 个整数字段和 10 个其他对象的引用字段:

  • 如果有 1,000 个这样的类(全部扩展同一个基类),会在 JVM 中占用多少额外空间?
  • 如果它们是匿名类而不是定义类,情况会发生变化吗?

最佳答案

好吧,每个Class本身就是一个对象。因此,指示性大小是在类本身上调用 Instrumentation.getObjectSize()

您可以按照此处的教程进行操作: https://www.baeldung.com/java-size-of-object

然后,如果您想检查 MyClass 的大小,您可以执行以下操作:InstrumentationAgent.getObjectSize(MyClass.getClass());

这并不意味着它是与此类关联的唯一内存,因为类加载器、垃圾收集器和 JVM 的其他内部工作可能会保留有关该类的其他元信息。

关于java - 一个类在 JVM 中占用多少空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55458851/

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