gpt4 book ai didi

java - 类中有更多方法是否意味着对象在运行时使用更多内存

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:53:13 25 4
gpt4 key购买 nike

假设我有一个类 ClassBig,里面有 100 个方法,第二个类 ClassSmall

当我在运行时有对象时


ClassBig big = new ClassBig();
ClassSmall small = new ClassSmall();

更大的类是否占用更多的内存空间?

如果两个类都包含相同的方法,那么较大的类是否需要更长的时间来执行它?

最佳答案

类实例的内存表示主要是它的内部状态加上指向类本身的内存表示的指针。实例方法的内部表示比您在类定义中指定的参数多一个参数 - 隐式 this 引用。这就是我们如何只存储实例方法的一个副本,而不是为每个实例存储一个新副本。

因此,具有更多方法的类将比具有较少方法的类占用更多的内存(代码必须去某个地方),但是具有更多方法的类的实例将使用相同数量的内存,假设类有相同的数据成员。

执行时间不会受到类中其他方法数量的影响。

关于java - 类中有更多方法是否意味着对象在运行时使用更多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2935815/

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