去年做過一個項目,需要每日對上千個Android內(nèi)存泄漏(OOM)時core dump出的hprof文件進行分析,希望借助海量數(shù)據(jù)來快速定位內(nèi)存泄漏的原因。最終的分析結果是一個類森林,因為時隔較遠,只找到下面這個截圖了。

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

點擊打開折疊的項目,會看到該類的每個屬性,類有多少個實例,占用的大小等等信息,樹的深度可以達到10^2級別。重點是項目需要實時,每個hprof文件解析出來的節(jié)點達到5w+,千萬級節(jié)點已經(jīng)由mapreduce進行過一次匯聚計算才出庫,在展示時,依然需要一次實時計算,當點擊項目時,需要快速將該類下所有的子孫節(jié)點占用的字節(jié)大小累加到該節(jié)點,因此對森林要有很高的查詢效率。

好的查詢效率取決于好的存儲機構,眾所周知,多級目錄樹有如下三種存儲方法,這里主要講解這三種方式,并對其做了一些修改。這里使用同一個森林為模型(字母為節(jié)點名稱,數(shù)字為節(jié)點權重)

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

 

鄰接列表

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式