G1 在壓縮空間方面有優點。內存
G1 經過將內存空間分紅區域(Region)的方式避免內存碎片問題。get
Eden, Survivor, Old 區再也不固定、在內存使用效率上來講更靈活。io
G1 能夠經過設置預期停頓時間(Pause Time)來控制垃圾收集時間避免應用雪崩現象。效率
G1 在回收內存後會立刻同時作合併空閒內存的工做、而 CMS 默認是在 STW(stop the world)的時候作。im
G1 會在 Young GC 中使用、而 CMS 只能在 O 區使用。cpu
吞吐量優先:G1top
響應優先:CMS時間
CMS 的缺點是對 cpu 的要求比較高。G1 是將內存化成了多塊,全部對內段的大小有很大的要求。vi
CMS 是清除,因此會存在不少的內存碎片。G1 是整理,因此碎片空間較小。co
本文由猿必過 YBG 發佈