【问题标题】:Do methods affect the size of my objects?方法会影响我的对象的大小吗?
【发布时间】:2009-02-11 16:16:31
【问题描述】:

在 .NET 中,对象内方法的数量或方法的大小(即代码量)是否会影响对象在实例化时使用的内存量?

示例: 具有 3 个 int 属性和 1 个方法的对象会比具有 3 个 int 属性和 20 个方法的对象占用更多内存吗?

如果“是”,静态方法会占用更少的内存吗?

请注意:我意识到实际调用一个方法可能会实例化其他将使用内存的对象或变量——我的问题只是与调用构造函数后它们使用了多少内存有关。

【问题讨论】:

    标签: .net methods memory-management


    【解决方案1】:

    没有。方法会占用内存,但这非常很少。方法表以及为方法生成的代码由对象的每个实例共享。

    【讨论】:

    • 那么方法确实会占用内存,但它是在相同类型的对象之间共享的? (即,1个对象的“方法内存”使用与100个相同类型对象的“方法内存”使用相同?)
    【解决方案2】:

    将一个具有 3 个 int 属性的对象 和 1 方法占用更多的内存比 具有 3 个 int 属性和 20 个的对象 方法?

    答案是否定的。方法不是任何特定实例的一部分。它们属于类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-27
      • 2013-02-08
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多