GC.MaxGeneration屬性【GC示例】
獲取系統當前支援的最大代數。
名稱空間: System
程式集: mscorlib
(位於 mscorlib.dll)
語法
public static int MaxGeneration { get; }
屬性值
Type: System.Int32
從零到所支援的最大代數間的一個值。
備註
生成編號或年齡,物件是物件的生命週期的實現定義的相對度量。 最新建立的物件是第 0 代中,最舊的物件是小於或等於生成返回級別MaxGeneration
屬性。
垃圾回收器假定較新的記憶體是更有可能適合於較舊的記憶體比垃圾回收。 因此,垃圾回收器可以提高其效能通過調整它回收記憶體,每次的世代號和MaxGeneration
屬性值可以隨時間增長。
如果實現物件老化,MaxGeneration
屬性返回系統使用的最大代數; 否則,此屬性返回零。
實現函式說明:
對於此實現,返回的值MaxGeneration
屬性一定正在執行的應用程式的生存期內保持不變。
使用MaxGeneration
屬性來確定在呼叫時可以指定的最大值Collect
採用生成引數的方法。
示例
下面的示例演示如何 MaxGeneration
屬性用於在使用中當前顯示的最大代數。
using System;
namespace GCCollectIntExample
{
class MyGCCollectClass
{
private const long maxGarbage = 1000;
static void Main()
{
MyGCCollectClass myGCCol = new MyGCCollectClass();
//確定系統垃圾收集器當前支援的最大代數。
Console.WriteLine("The highest generation is {0}", GC.MaxGeneration);
myGCCol.MakeSomeGarbage();
//確定myGCCol物件儲存哪一代。
Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
//確定託管記憶體中當前分配的位元組數的最佳可用近似值。
Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
//僅執行第0代的收集
GC.Collect(0);
//確定myGCCol物件儲存哪一代。
Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
//進行所有世代的收集,包括2
GC.Collect(2);
//確定myGCCol物件儲存哪一代。
Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
Console.Read();
}
void MakeSomeGarbage()
{
Version vt;
for(int i = 0; i < maxGarbage; i++)
{
//建立物件並釋放它們以使用未使用的物件填充記憶體。
vt = new Version();
}
}
}
}
執行結果如圖:
相關文章
- CMake 屬性之全域性屬性
- defer 屬性和 async 屬性
- CSS 屬性篇(七):Display屬性CSS
- CMake 屬性之目錄屬性
- CMake 屬性之目標屬性
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- CSS字型屬性和文字屬性詳解CSS
- Python 類的屬性與例項屬性Python
- python物件屬性管理(2):property管理屬性Python物件
- 根據屬性字串獲取屬性值字串
- CAD屬性編輯操作——物件屬性教程物件
- cssRules 屬性CSS
- previousElementSibling 屬性
- translucent屬性
- parentRule 屬性
- parentStyleSheet屬性
- cssText 屬性CSS
- Property屬性
- 私有屬性
- background屬性
- allowfullscreen 屬性
- ref屬性
- HTML 屬性HTML
- onreadystatechange 屬性
- DOM屬性
- jQuery 屬性jQuery
- background 屬性
- jQuery設定disabled屬性與移除disabled屬性jQuery
- WPF 之 依賴屬性與附加屬性(五)
- 框架(frameset),全域性屬性框架
- JavaScript cells 屬性JavaScript
- XMLHttpRequest responseText屬性XMLHTTP
- canvas shadowBlur 屬性Canvas
- canvas shadowColor 屬性Canvas
- JavaScript rows 屬性JavaScript
- JavaScript nodeName 屬性JavaScript
- HTML id 屬性HTML
- HTML dir 屬性HTML