JVM(三)

1.對象已死?
    引用計數算法(Reference counting):
    根搜索算法(GC Roots Tracing):判斷對象是否存活的。基本思路:通過一系列的名爲“GC ROOTS”的對象作爲起始點,從這些點開始鄉下搜索,搜索所走過的路徑成爲引用鏈(Reference Chain),當一個對象到GC Roots沒任何引用鏈項鍊(用圖論解釋:GC Roots到這個對象不可達)時,則證明此對象是不可用的。(不可達的話,可回收的對象)。
        
2.垃圾回收算法
    
    1.標記-清除算法(Mark-Sweep):首先標記出所有需要回收的對象,在標記完成後統一回收掉所有被標記的對象。(基礎:收集算法);
    2.複製算法:內存按容量劃分爲大小相等的兩塊,每次只使用其中的一塊。當這一塊的內存用完,就將還存活的對象複製到另一塊上,然後再把已經使用過的內存空間一次清理掉。

3.垃圾收集器
    垃圾收集器中會有很多種,會在新生代和老生代中會選擇一個合適的回收機制。
4.內存分配與回收策略

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章