垃圾回收

小樓昨夜又西風發表於2019-03-05

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
小疑問: 什麼叫A物件可以達到B呢?
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
解釋: 上面的說法的意思是,首先新建的所有物件先往eden區存放,然後當eden區存滿了以後,就對eden區做一次minor GC,然後把存活的物件複製轉移到一個survivor區。當這塊survivor區存放滿了以後,那麼就和另一塊survivor區做一次複製演算法,把存活的物件再轉移到老年代(Old區)中。如果連老年代都滿了的話,那麼就進行Full GC
補充: 上圖中的“如果Survivor區放不下eden區的物件或者survivor區物件足夠老了,直接放入old區”,這個也是有可能的
小疑問: 從上述的回收策略,還是不明白“永久區”的作用?

在這裡插入圖片描述
小疑問: 上面是虛引用,還是不是很明白,什麼是對生存時間無影響?

在這裡插入圖片描述
在這裡插入圖片描述
解釋: “標記壓縮演算法”相比於“標記清除演算法”的特點就是把存留下來的物件壓縮到記憶體的一邊,大大地減少了記憶體碎片的產生。
解釋: 序列收集器既工作在新生代,又工作在老年代

在這裡插入圖片描述

在這裡插入圖片描述
解釋: parNew收集器只工作在新生代進行併發回收

在這裡插入圖片描述
在這裡插入圖片描述
小疑問: parallel收集器和parNew收集器的區別是什麼呢?怎麼感覺差不多啊,同樣在新生代工作,同樣使用複製演算法,那麼區別在哪裡呢?

4. CMS收集器
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

相關文章