JVM六大垃圾回收器特点及区别
1、Serial:
標(biāo)記整理算法。
單線程,適合單CPU,效率高,STW。
Old:
單線程回收老年代,CMS 發(fā)生Concurrent Mode Failure的備選方案。
2、Parallel:
New:
Serial多線程版。
默認(rèn)使用線程數(shù)和CPU個(gè)數(shù)相同,
可通過(guò)+UseParallelGCThreads控制。
Scavange:
注重吞吐量,可設(shè)置垃圾回收時(shí)間和其占比。
-XX:+UseAdaptiveSizePolicy自適應(yīng)堆中各區(qū)占比。
Old:
標(biāo)記整理算法。
Scavenge老年代版本,Parallel Scavenge+Parallel Old可實(shí)現(xiàn)高吞吐量。
3、CMS
標(biāo)記清除算法。
力求回收時(shí)間最短。
標(biāo)記:
初始——>并發(fā)——>置新
初始、置新還是會(huì)STW,時(shí)間較短。
并發(fā),和其他線程一起運(yùn)行,默認(rèn)使用(當(dāng)前CPU個(gè)數(shù)+3)/4線程,比Parallel并發(fā)標(biāo)記快很多。
缺點(diǎn):
對(duì)CPU敏感,最好4個(gè)以上。
回收中還會(huì)產(chǎn)生垃圾。
產(chǎn)生空間碎片。
?
可以設(shè)置Full GC后,磁盤碎片整理。
然而,碎片整理時(shí),不能并發(fā)回收。可以設(shè)置碎片整理的次數(shù)。^_^,打補(bǔ)丁。
ps:
STW——>Stop The Word。
轉(zhuǎn)載于:https://www.cnblogs.com/codegod/p/9061059.html
總結(jié)
以上是生活随笔為你收集整理的JVM六大垃圾回收器特点及区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Redis 注册为 widows 服务
- 下一篇: 两个排序数组的中位数