Java - 如果我向一个类添加一个方法,它的每个实例会占用更多的空间吗?使方法静态改变什么?

时间:2012-04-27 15:10:21

标签: java memory static

此外,方法的大小是否会影响每个对象占用多少空间(如果标题问题的答案是肯定的话)?或者它更像是对方法的引用,每个引用都是相同的大小?感谢。

4 个答案:

答案 0 :(得分:4)

方法不会将实例变量的内存空间添加到类本身(当然也是一个Object: - ))。

答案 1 :(得分:2)

类的方法和静态成员只需在VM中表示一次,作为类定义的一部分。每个实例的大小应仅受类中非静态成员变量的影响。

答案 2 :(得分:1)

据我所知,方法不会影响对象的大小。它会增加文件大小,但不会增加对象大小。

答案 3 :(得分:1)

每个对象都有对其类的引用。该类中的方法数量无关紧要。

非静态字段的数量会对每个对象产生影响,因为每个对象都需要具有该字段。 (除非JVM选择远离该领域)