Java 常見的垃圾回收器

Java 常見的垃圾回收器

垃圾回收器 (GC, Garbage Collector)是和具體的 JVM 實現緊密相關。

Java 虛擬機針對新生代和年老代分別提供了多種不同的垃圾收集器。

垃圾收集器

Serial GC

Serial GC ,是新生代的垃圾回收器, Serial 體現在其收集工作是單線程的,並且在垃圾收集過程中,其他線程阻塞,進入 Stop Thre World 狀態。 新生代使用的 Serial 垃圾回收器,是基於複製算法的。

-XX:+UseSerialGC

Paralel Scavenge

Parallel Scavenge 收集器,是一個新生代的垃圾回收器,採用的是複製算法。關注的是程序到達一個可控制的吞吐量(Thoughput ,CPU 用於運行用戶代碼的時間/CPU總消耗時間)。 吞吐量= 運行用戶代碼時間/(運行用戶代碼時間+垃圾收集時間). 高吞吐量可以最高效率的利用 CPU 時間。 儘快完成程序的運算任務。 值得關注的是 Parallel Scavenge 收集器有個自適應調節參數

這個參數就是:-XX:UseAdaptiveSizePolic。這是一個開關參數,當這個開關打開之後,就不需要手動指定新生代的大小(-Xmn)、Eden與Survivor區的比列(-XX:SurvivorRatio)、晉升老年代對象大小(-XX:PertenureSizeThreshol

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