[英]Does adding methods to a Java class boost the memory usage of its instances?
将成员变量添加到类中肯定会增加其实例在堆上的内存占用量,但是类的方法呢?
例如,如果我有一个由单个StringBuilder组成的类,但是继续添加许多方法来操作StringBuilder,那么当我添加更多方法时,该类的每个实例是否会占用更多的内存?
谢谢!
不,添加方法不会增加对象的占用空间,只会增加编译代码的占用空间。 换句话说,每实例内存成本为零。
简短的回答是否定的,它不会为生活在堆中的每个对象增加更多内存。 唯一会发生的事情是首次加载类时,它也会加载这些方法。
这是特定于VM的,但对于每个人使用的Oracle Hotspot VM,不,实例大小不受影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.