Java-100天知识进阶-GC种类-知识铺(六)

一、GC回收器的 4个指标:

1.Throughput,非gc时间与总运行时间的比重。

2.Pauses,gc过程中程序的暂停次数,暂停平均时长,最大时长。

3.Footprint ,当前使用堆内存大小。

4.Promptness,无引用的对象多久才被gc。

二、串行垃圾回收器

原理:暂停所有工作线程,一个一个内存区域来收集。

建议:一般面向C端用户,不建议使用。

命令:-XX:+UseSerialGC

代表回收器:

⑴ Serial 针对新生代

⑵ Serial old 针对老年代

三、并行垃圾回收器

原理:使用多线程进行垃圾回收

建议:以吞吐量为主服务器

命令:-XX:+UseParallGC

代表回收器:

⑴ ParNew 针对新生代

⑵ Parallel Scavenge 针对新生代,以吞吐量为主

⑶ Parallel Old 针对老年代,以吞吐量位主,可以配合 ⑵ 一起使用

三、并发标记扫描垃圾回收器 CMS

原理:多线程,标记清理,一般老年代使用,触发Full GC

建议:以响应时间为主的服务器

命令:-XX:+UseConcMarkSweepGC

代表回收器:CMS

特点:

1.分两次短暂的暂停,代替整理算法的长暂停

2.提高响应时间,吞吐量有所下降。

3.会出现碎片,配合命令

-XX:+UseCMSCompactAtFullCollection

-XX:CMSFullGCsBeforeCompaction=1 对老年代进行压缩整理,配置进行了多少次Full GC之后执行一次内存压缩。

-XX:ParallelGCThreads 配置并行垃圾回收线程数

(4).G1垃圾回收器

原理:分割内存,不同区域。

建议:堆内存大的情况使用,服务器端适用。

特点:并行并发进行回收,压缩内存,标记整理

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();