[英]Does having more methods in a class mean that object uses more memory at runtime
假设我有一个ClassBig
,里面有100个方法,第二个只有10个方法ClassSmall
当我在运行时有对象时
ClassBig big = new ClassBig();
ClassSmall small = new ClassSmall();
较大的类是否占用更多的内存空间?
如果两个类都包含相同的方法,那么较大的类是否需要更长的时间来执行它?
类的实例的内存中表示主要是它的内部状态加上指向类本身的内存表示的指针。 实例方法的内部表示比您在类定义中指定的参数多一个 - 隐式的this
引用。 这就是我们只能存储实例方法的一个副本,而不是每个实例的新副本。
因此,具有更多方法的类将比具有更少方法的类占用更多内存(代码必须在某处),但是具有更多方法的类的实例将使用相同数量的内存,假设类具有相同的数据成员。
执行时间不受类中其他方法数量的影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.