雖然看了一些書,還網(wǎng)絡(luò)上的一些博文,不過對CLR托管內(nèi)存細節(jié)一直比較模糊。而且因為工作原因總會有很多質(zhì)疑,想要親眼看到內(nèi)存里二進制數(shù)據(jù)的變化。
所以借助winhex直接查看內(nèi)存以證實書上的描述或更進一步揣摩CLR托管內(nèi)存的運作方式,這里寫下來跟大家一起分享(由于自己這方面知識儲備不太充足,下面的好多內(nèi)容也是猜測,肯定有很對錯誤,希望了解的網(wǎng)友可以幫忙指正)
測試環(huán)境: windowsXP win10 win7 (dotnet4.0 Releases編譯 ,下文截圖為win7上的運行結(jié)果)
內(nèi)存查看工具: winhex 7.5
雖然重點是監(jiān)測二進制的內(nèi)存,不過基本的測試代碼還是要有的(測試是直接運行編譯好的exe,沒有使用調(diào)試模式,編譯時要使用Releases,因為debug跟Releases在GC回收時對象是否可達的判斷是不一樣的)
下面對內(nèi)存的查找部分看起來可能有點跳躍,因為是借助了反復(fù)測試得到的規(guī)律,很多過程沒有贅述
進行之前需要先簡單了解CLR對象分配(類型對象指針要知道),GC的基本過程(G0,G1,G2需要簡單了解),二進制數(shù)據(jù)的存儲(主要是大小端)
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26