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垃圾回收器
原理:分割内存,不同区域。
建议:堆内存大的情况使用,服务器端适用。
特点:并行并发进行回收,压缩内存,标记整理
本文由zshipu.com学习笔记或整理或转载,如有侵权请联系,必改之。
一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。
王中阳Go赞 33阅读 2.4k评论 1
前端如何入门 Go 语言
robin赞 23阅读 3.2k评论 6
Golang 中 []byte 与 string 转换
机器铃砍菜刀赞 24阅读 57.9k评论 2
年度最佳【golang】map详解
去去1002赞 16阅读 11.5k评论 2
年度最佳【golang】GMP调度详解
去去1002赞 15阅读 11.9k评论 4
万字详解,吃透 MongoDB!
JavaGuide赞 8阅读 1.6k
数据结构与算法:二分查找
白鲸鱼赞 9阅读 5.2k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。