国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

垃圾回收

2019-11-17 03:21:36
字體:
來源:轉載
供稿:網友

垃圾回收

2014-02-14 12:33 by Phenix_Yu, ... 閱讀, ... 評論, 收藏, 編輯 1. CLR垃圾回收器采用代(generation)機制,目前支持0、1、2三代。
  • 新構造添加到堆的對象稱為第0代。
  • 經過對第0代的垃圾回收之后,第0代的幸存者被提升至第1代。
  • 經過對第1代的垃圾回收之后,第一代的幸存者被提升至第2代

CLR初始化時,會為每一代選擇預算。第0代的預算約為256K,第1代預算約2M,第2代預算約10M。在實際使用過程中,垃圾回收器會用類似啟發式算法調整各代的預算。

2. 軟件開始運行時,運行時會為每一個Generation預留一塊連續的內存(這樣說并不嚴格,但不影響此問題的描述),同時會保持一個指向此內存區域中尚未使用部分的指針P,當需要為對象分配空間時,直接返回P所在的地址,并將P做相應的調整即可3. .NET會將對象分成兩種情況區別對象,一種是大小小于85, 000字節的對象,稱之為小對象,它就對應于前面描述的一般情況;另外一種是大小在85, 000之上的對象,稱之為大對象。在.NET中,所有大對象都是分配在另外一個特別的連續內存(LOH, Large Object Heap)中的,而且,每個大對象在創建時即屬于G2,也就是說只有在進行Generation 2的垃圾回收時,才會處理LOH。而且在對LOH進行垃圾回收時不會壓縮內存!更進一步,LOH上空間的使用方式也很特殊——當分配一個大對象時,運行時會優先嘗試在LOH的尾部進行分配,如果尾部空間不足,就會嘗試向操作系統請求更多的內存空間,只有在這一步也失敗時,才會重新搜索之前無效對象留下的內存空隙4. 對象被標示為垃圾后會自動調用其Finalize方法,前提是對象重寫了object的Finalize方法
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新巴尔虎左旗| 油尖旺区| 溧阳市| 尤溪县| 盈江县| 阿拉善右旗| 永德县| 城步| 金乡县| 普兰店市| 桂平市| 合水县| 霞浦县| 永新县| 宜丰县| 彭阳县| 丹寨县| 泰来县| 江源县| 镶黄旗| 扶沟县| 神池县| 抚宁县| 安化县| 富宁县| 玉门市| 东宁县| 南丰县| 德兴市| 乌兰察布市| 固阳县| 吐鲁番市| 北辰区| 香港 | 米易县| 临清市| 合江县| 阿拉善盟| 涿鹿县| 宁城县| 万安县|