在采访中,面试官问我以下内容:
假设Gen 0的大小为5 kb,我创建的对象大小为20 kb,会发生什么?
我回答说CLR将扩展Gen 0区域.
现在我很困惑这是否是正确的答案.
这是对的吗?
Jus*_*zas -2
大对象将跳过第 0 代和第 1 代。
小型 .NET 对象被分配到小型对象堆 (SOH) 上。
...
大于 85 KB 的对象将分配到大对象堆 (LOH) 上。由于复制大块内存的开销,它们没有被压缩。当发生完整GC时,未使用的LOH对象的地址范围将记录在可用空间分配表中。
新分配的对象形成新一代对象,并且隐式为第 0 代集合,除非它们是大对象,在这种情况下,它们位于第 2 代集合中的大对象堆上。
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |