COR_PRF_GC_GENERATION 枚举

标识垃圾回收代系。

语法

typedef enum {  
    COR_PRF_GC_GEN_0 = 0,  
    COR_PRF_GC_GEN_1 = 1,  
    COR_PRF_GC_GEN_2 = 2,  
    COR_PRF_GC_LARGE_OBJECT_HEAP = 3,
    COR_PRF_GC_PINNED_OBJECT_HEAP= 4
} COR_PRF_GC_GENERATION;  

成员

成员 说明
COR_PRF_GC_GEN_0 对象存储为第 0 代。
COR_PRF_GC_GEN_1 对象存储为第 1 代。
COR_PRF_GC_GEN_2 对象存储为第 2 代。
COR_PRF_GC_LARGE_OBJECT_HEAP 对象存储在大型对象堆中。
COR_PRF_GC_PINNED_OBJECT_HEAP 对象存储在固定对象堆中。

注解

垃圾回收器根据期限将对象划分为多个代系,从而提高内存管理性能。 垃圾回收器当前使用三个代系(编号为 0、1 和 2)和两个特殊堆段,一个用于大型对象,一个用于固定对象。

其大小超出阈值的对象存储在大型对象堆中。 可以将固定对象分配到固定对象堆,以避免在正常堆上分配这些对象的性能成本。 其他已分配对象开始属于第 0 代。 第 0 代中发生垃圾回收后,存在的所有对象都将升级到第 1 代。 第 1 代中发生垃圾回收后,存在的所有对象都将升级到第 2 代。

使用代系意味着垃圾回收器一次只能处理部分已分配对象。

COR_PRF_GC_GENERATION 枚举由 COR_PRF_GC_GENERATION_RANGE 结构使用。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 2.0 起可用

另请参阅