將GC進行到底(二)

縱然一大堆文章將Java和C#的回收機制吹捧上了天,可是老百姓相信的只是事實,Java/C#的軟件程序啓動後不管你怎麼折騰內存都只是有升無減的。

最佳的事實是Eclipse。我真的沒幹什麼,開了它來打包Jar,結果內存已經佔用到100多M,而且更糟糕的是不斷的讀硬盤,內存吃完了吃硬盤,我本本的硬盤損壞得那麼快真的是歸功它不少。而且Eclipse有個特性是“一視同仁”,不管你是P2,還是P4,它沒商量一樣的慢。

批了它不少,也該講重點了,重點就是開啓Eclipse後無論你放置多久,內存永遠有升無減,一大堆文章誇讚的回收機制回收算法連個嗝也沒打一下!

誇Java/C#的回收機制,就好比誇你閨女美如花,結果是如花。你讓人民羣衆怎麼活?

“GC難,難於上青天”?

仔細分析網上衆多GC的文章,去僞存真,去糟粕取精華,我們會發現兩個重點,一是寫出高質量的代碼,二是適時進行回收。

依據現實狀況,我認爲,GC,你知不知道無所謂——確實不見得內存有回收,那麼你知道了也得個“知”字。但是,由於你代碼寫得一團糟,該釋放的變量或實例你不釋放,把變量或實例的代數無限的往上加,最終導致內存溢出,那麼絕對是你的過錯。

不過,高質量的代碼也是要經過磨練才能達到的境界。以後想要GC,首先去看看自己的代碼是否符合規範,是否符合高手的經驗指引,在這不知不覺中,你就能把代碼寫得高質量一些,從而達到隱式GC的效果。

適時?何謂適時?何時適時?天曉得。之所以把“適時”也作爲重點,是發現有好多文章都提到了適時回收這個概念,適時回收到底是否在working,不知道,但有文章說它是working的,那麼我們暫且信之,因爲我也拿不出證據。

說了這麼一大篇,發覺最後還是無法解決GC的問題,只能迴應題目,拿出決心和勇氣,“將GC進行到底”,雖然遙遙無期。

 此文出處www.mym2p.comhttp://mym2p.shineblog.com
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章