去年做過一個項目,需要每日對上千個Android內(nèi)存泄漏(OOM)時core dump出的hprof文件進行分析,希望借助海量數(shù)據(jù)來快速定位內(nèi)存泄漏的原因。最終的分析結果是一個類森林,因為時隔較遠,只找到下面這個截圖了。
點擊打開折疊的項目,會看到該類的每個屬性,類有多少個實例,占用的大小等等信息,樹的深度可以達到10^2級別。重點是項目需要實時,每個hprof文件解析出來的節(jié)點達到5w+,千萬級節(jié)點已經(jīng)由mapreduce進行過一次匯聚計算才出庫,在展示時,依然需要一次實時計算,當點擊項目時,需要快速將該類下所有的子孫節(jié)點占用的字節(jié)大小累加到該節(jié)點,因此對森林要有很高的查詢效率。
好的查詢效率取決于好的存儲機構,眾所周知,多級目錄樹有如下三種存儲方法,這里主要講解這三種方式,并對其做了一些修改。這里使用同一個森林為模型(字母為節(jié)點名稱,數(shù)字為節(jié)點權重)
鄰接列表
延伸閱讀
- 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端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據(jù)結構來看看(二) 2017-07-26