天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

.Net Discovery系列-深入理解平臺機制與性能影響(上)

  轉(zhuǎn)眼間《.NET Discovery》系列文章已經(jīng)推出1年了,本文為該系列的第10-13篇文章,在本文中將對以前所講的.NET平臺知識做一個小小的總結與機制分析,引出并重點介紹這些機制對程序性能的影響與改進建議。

  本文將分為四部分,分別講述了:垃圾回收機制、即時編譯機制、異常處理機制、字符串駐駐留機制的原理與性能改進建議。

  《.NET Discovery》系列的每篇文章撰寫耗時都在2天以上,轉(zhuǎn)載時麻煩著名作者Aicken(李鳴),并且未經(jīng)作者同意,禁止一切商業(yè)用途!

  一.關于垃圾回收機制●

  機制分析垃圾收集器是.NET平臺的一個特性,它自動回收托管堆上不再使用的對象,及時清理內(nèi)存,這一切都是對開發(fā)人員透明的,當然你也可以手動把它召喚出來,它的本質(zhì)就是跟蹤所有被引用到的對象,整理對象不再被引用的對象,回收相應的內(nèi)存。垃圾收集機制采用標記與清除(Mark Sweep)算法來完成上述任務,整個過程分為兩步:

  Step 1.Mark-Sweep :從應用程序的root出發(fā),利用相互引用關系,遍歷其在Heap上動態(tài)分配的所有對象,指明需要回收的對象,標記出那些存活的對象,予以標記。

  Step 2.Compact: 對內(nèi)存中存活的對象進行移動,修改它們的指針,使之在內(nèi)存中連續(xù),這樣空閑的內(nèi)存也就連續(xù)了,即完成了內(nèi)存釋放工作,也解決了內(nèi)存碎片問題,這個過程也可以成為指針的壓縮。垃圾收集器一般將托管堆中的對象分為3代,這可以通過調(diào)用GC.MaxGeneration得知,對象按照存在時間長短進行分代,最短的分在第0代,最長的分在第2代,第2代中的對象往往是比較大的,第二代空間被稱作Large Object Heap,對于2代對象的回收,與第0、1代回收方式相比最大的不同在于,沒有了指針移動的壓縮過程。如下圖,第一次GC時,左邊第一列A-F表示內(nèi)存中的對象,位于淺藍色 區(qū)域,經(jīng)過Mark后,ACDF標記為可用,Sweep過程清除了BE,Compact過程移動了ACDF,使之位于連續(xù)存儲區(qū)域中;第二次使用綠色做標記;第三次GC使用藍色表示標記;可以看出第三次GC過程沒有了指針移動的壓縮過程。

NET技術.Net Discovery系列-深入理解平臺機制與性能影響(上),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 91麻豆精品国产一级 | 日韩精品无码免费专区 | 精品一成人岛国片在线观看 | 国产精品伦理一二三区伦理 | 无人区乱码1区2区3区网站 | 免费韩国伦理2017最新 | jizz69女士第一次 | 国内国外精品影片无人区 | 啊灬啊灬啊灬快灬深高潮啦 | 国产成人亚洲精品老王 | 丰满女友bd高清在线观看 | 亚洲成人网导航 | 97久久精品人人槡人妻人 | 国产色欲一区二区精品久久呦 | 翁止熄痒禁伦短文合集免费视频 | 国产亚洲精品第一区香蕉 | 日韩精品无码视频一区二区蜜桃 | 成人免费视频在线观看 | 94色94色永久网站 | 日本强好片久久久久久AAA | 亚洲国产精品嫩草影院 | 欧美性动漫3d在线观看完整版 | 国产成人女人视频在线观看 | beeg日本高清xxxx | 9久久99久久久精品齐齐综合色圆 | 国产精品爽爽久久久久久竹菊 | 果冻传媒视频在线观看完整版免费 | 男人和女人全黄一级毛片 | 亚洲偷自拍精品视频在线观看 | 欧美日本高清动作片www网站 | 扒开美女下面粉嫩粉嫩冒白浆 | 毛片网站视频 | 精品一区二区三区在线成人 | 亚洲在线成色综合网站 | 羞羞影院午夜男女爽爽免费 | 视频成人永久免费下载 | 久久99亚洲AV无码四区碰碰 | 男人吃奶摸下弄进去好爽 | 亚洲欧洲日韩视频在钱 | 99草在线观看 | 男人私gay挠脚心vk视频 |