在.NET中,只要存在,一个对象需要12个字节,8个用于标题,4个用于引用。假设我们想要创建一个32位系统可以处理的最大12字节对象数(忽略100%的开销)。这个最大值可能是多少? 我看过here 我们可以创建1.7亿个对象,但据我所知,32位系统可以管理max 4 Go of ram,我不知道这个1.7亿个对象来自哪里。
答案 0 :(得分:3)
1,024 MB = 1 GB
2 GB = 2,048 MB
2,048 MB * 1,024 = 2,097,152 KB
2,097,152 KB * 1024 = 2,147,483,648 B
2,147,483,648 B / 12 = 178,956,970 170million (ish)
正如文章所指出的,那里有一些开销,这种尺寸的物体实际上是无用的。但无论如何,以上是GB的数学 - > B / 12转换。