哪些內存需要回收

在Java堆中存放著幾乎所有的對象實例,垃圾收集器在對堆進行回收前,第一件事情就是要知道哪些對象還“存活著”,哪些對象已經”死去“。

引用計數(shù)算法

引用計數(shù)法的實現(xiàn):給對象中添加一個引用計數(shù)器,每當有一個地方引用它時,計數(shù)器就加1,當引用失效時,計數(shù)器就減1,只要計數(shù)器為0的對象就是不可能被使用的。

這個算法實現(xiàn)簡單,效率也很高,但是當存活對象中,存在相互引用的時候,這算法就解決不了。所以Java中的GC并沒有采用引用計數(shù)法來管理內存。(后面例子分析會根據GC日志看出相互引用的對象被回收了)

延伸閱讀

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