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();
}
}
}
}
執行結果如圖:
相關文章
- c# saf 框架欄位屬性多層巢狀示例C#框架巢狀
- CMake 屬性之全域性屬性
- iOS動畫 屬性屬性解析iOS動畫
- defer 屬性和 async 屬性
- CSS 屬性篇(七):Display屬性CSS
- CMake 屬性之目標屬性
- CMake 屬性之目錄屬性
- Struts2幾個常用標籤的主要屬性及示例(一)
- JavaScript私有屬性和靜態屬性JavaScript
- CSS字型屬性和文字屬性詳解CSS
- 私有屬性
- allowfullscreen 屬性
- background 屬性
- cssText 屬性CSS
- translucent屬性
- parentStyleSheet屬性
- cssRules 屬性CSS
- background屬性
- jQuery 屬性jQuery
- 屬性動畫動畫
- jQuery屬性jQuery
- TextView屬性TextView
- XML屬性XML
- Property屬性
- DOM屬性
- HTML 屬性HTML
- ref屬性
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- CAD屬性編輯操作——物件屬性教程物件
- WPF 之 依賴屬性與附加屬性(五)
- jQuery設定disabled屬性與移除disabled屬性jQuery
- Python 類的屬性與例項屬性Python
- python物件屬性管理(2):property管理屬性Python物件
- 框架(frameset),全域性屬性框架
- js如何獲取給定屬性的屬性值JS
- Blob type 屬性
- Blob size 屬性
- JavaScript files 屬性JavaScript