【发布时间】:2009-04-08 14:35:24
【问题描述】:
类中函数的内存开销是多少?
例如,
Class A
{
int a
}
Class B
{
int a
int foo(int);
}
所以 100 个 A 类实例应该是 80 个字节。 100 个 B 类实例呢?
【问题讨论】:
-
不叫函数。它被称为方法。
-
大声笑,是的,它被称为方法,你最好做一个测试。
-
它是不可测试的,除非通过查看 VM 源代码,除非您执行其他人正在执行的操作并假设序列化形式与内存中的形式相同。
-
假设序列化形式与内存中的表示有任何关系是无稽之谈。我猜他们做了太多的 C 编程,这样的滥用很猖獗。
-
好吧,你也可以看看虚拟机内存。 “创建A的100个对象,看内存”对B来说也是如此。我会为你做一个适当的测试。