【发布时间】:2016-08-30 06:19:16
【问题描述】:
在 .NET 中,要存在,一个对象需要 12 个字节,其中 8 个字节用于标头,4 个字节被引用。假设我们要创建一个 32 位系统可以处理的最大 12 字节对象(忽略 100% 开销)。这个最大值可能是多少? 我已阅读here 我们可以创建 1.7 亿个对象,但据我所知,32 位系统最多可以管理 4 Go 的 ram,我不知道这 1.7 亿个对象是从哪里来的。
【问题讨论】:
-
这些数字没什么用,你为什么要知道?也许对潜在问题有更好的答案。
-
我试图找出减少管理费用的最佳方法。由于增加数据字节意味着有一个包含很多字段的类,这增加了类的复杂性,我想知道是否存在可容忍的开销,还是取决于内存管理需求?
-
您很可能不必担心这种开销,而是按照您想要的方式设计类。如果您有大规模数据方面的问题,无论如何您都应该迁移到 64 位。
标签: .net memory-management heap-memory