細節方面不同
G1 在壓縮空間方面有優勢,
G1 通過將記憶體空間分成區域(Region)的方式避免記憶體碎片問題,
Eden, Survivor, Old 區不再固定、在記憶體使用效率上來說更靈活,
G1 可以通過設定預期停頓時間(Pause Time)來控制垃圾收集時間避免應用雪崩現象,
G1 在回收記憶體后會馬上同時做合并空閑記憶體的作業、而 CMS 默認是在 STW(stop the world)的時候做,
G1 會在 Young GC 中使用、而 CMS 只能在 O 區使用,
整體內容不同
吞吐量優先:G1
回應優先:CMS
CMS 的缺點是對 cpu 的要求比較高,G1 是將記憶體化成了多塊,所有對內段的大小有很大的要求,
CMS 是清除,所以會存在很多的記憶體碎片,G1 是整理,所以碎片空間較小,
本文由猿必過 YBG 發布
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/262358.html
標籤:Java
