<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      CLR via C# 讀書筆記 5-6 垃圾回收的Generation

      直接用代碼和注釋說明問題吧~~

       

      代碼
      public static class Program
      {
      internal sealed class GenObj
      {
      ~GenObj()
      {
      Console.WriteLine(
      "In Finalize method");
      }
      }
      public static void Main()
      {
      Console.WriteLine(
      "Maximum generations: " + GC.MaxGeneration);
      // Create a new GenObj in the heap.
      Object o = new GenObj();
      // Because this object is newly created, it is in generation 0.
      Console.WriteLine("Gen " + GC.GetGeneration(o)); // 0 這個方法是用來獲取對象在第幾代

      // Performing a garbage collection promotes the object's generation.
      GC.Collect();
      Console.WriteLine(
      "Gen " + GC.GetGeneration(o)); // 1 每次GC以后還存活的單位就升級
      GC.Collect();
      Console.WriteLine(
      "Gen " + GC.GetGeneration(o)); // 2 每次GC以后還存活的單位就升級
      GC.Collect();
      Console.WriteLine(
      "Gen " + GC.GetGeneration(o)); // 2 (max) 每次GC以后還存活的單位就升級 最高只有2級 - -#

      o
      = null; // 移除強引用關系
      Console.WriteLine("Collecting Gen 0");
      GC.Collect(
      0); // Collect generation 0. 回收指定代的內存
      GC.WaitForPendingFinalizers(); // Finalize is NOT called.
      Console.WriteLine("Collecting Gens 0, and 1");
      GC.Collect(
      1); // Collect generations 0 & 1.
      GC.WaitForPendingFinalizers(); // Finalize is NOT called.
      Console.WriteLine("Collecting Gens 0, 1, and 2");
      GC.Collect(
      2); // Same as Collect()
      GC.WaitForPendingFinalizers(); // Finalize IS called. 這里這個對象才被徹底做掉了....
      }

      }

       

      第一次感覺一個對象的Finalize要等這么久....

      當然,如果在0代對象的時候就被回收了 就沒這么麻煩了

      - -#

       

       

      PS:GC的簡單邏輯:

        1.遍歷Generation 0  沒用的拉出去殺掉,還有用的升級到Generation 1 ,

        2.如果空間已經過了, 就不繼續回收了 ,返回

        3.如果空間還不夠或者Generation 1 也滿了, 把G1沒用的拉出去燒了祭天,然后還活著的升級到G2

        4.如果有必要 繼續回收G2...如果g2也不夠了 那么就OutOfMemoryException ....

        

      參數:

      GC在初始化完成的時候Generation 0 的大小就確定為256k (優先考慮放在L2 Cache中)

      Generation 1 開始大小是0  最大可以到2M

      Generation 2  沒有限制

      posted on 2010-12-10 10:30  聽說讀寫  閱讀(411)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 亚洲欧美自偷自拍视频图片| 亚洲区日韩精品中文字幕| 精品视频不卡免费观看| 丁香五月激情综合色婷婷| 人妻少妇无码精品专区| 免费人成无码大片在线观看| 日本丰满人妻xxxxxhd| 亚洲欧美高清在线精品一区二区| 国产久久热这里只有精品| 国产高清免费午夜在线视频| 亚洲国产日韩一区三区| 干老熟女干老穴干老女人| 国产高清不卡视频| 一区二区三区四区黄色片| 四虎永久精品免费视频| 亚洲人成亚洲人成在线观看| 精品无码av无码免费专区| 九九热免费在线播放视频| 国产91午夜福利精品| 国产影片AV级毛片特别刺激| 欧洲尺码日本尺码专线美国又| 亚洲色成人网站www永久| 国产极品尤物粉嫩在线观看| 在线免费观看亚洲天堂av| 日本一区二区三区专线| 国产麻豆精品手机在线观看| 国精品无码一区二区三区在线蜜臀 | 亚洲一区精品视频在线 | 亚洲香蕉av一区二区蜜桃| 商水县| 国产成人综合久久亚洲精品| 久热这里只有精品12| 亚洲av片在线免费观看| 免费久久人人爽人人爽AV| 日韩精品一区二区蜜臀av| 亚洲精品国产美女久久久| 免费观看成人毛片a片| 亚洲老熟女一区二区三区 | 97无码人妻福利免费公开在线视频| 中文字幕日韩有码国产| 人妻av无码系列一区二区三区|