Jam*_*man 5 .net c# garbage-collection
据我所知,对于所有版本的.NET,有三代垃圾收集 - 0,1和2.
在任何情况下,检查GC.MaxGeneration会产生2以外的任何东西吗?在具有不同GC生成数的其他框架上是否有GC?
应该注意的是,GC.MaxGeneration对于应用程序的生命周期来说是不变的,本身就是一个实现细节:
对实施者的说明
对于此实现,
MaxGeneration保证属性返回的值在执行应用程序的生命周期内保持不变.
这意味着它不仅可以与.NET框架的其他实现MaxGeneration不同2,而且在程序执行期间也可以变化(取决于调用属性getter时垃圾收集器使用的代数).
其他实现也可以根据情况使用不同的垃圾收集器.例如,Mono可以使用Boehm非代际GC(MaxGeneration将始终使用0),或SGen代GC(仅实现两代,因此MaxGeneration总是小于或等于1那里).