垃圾收集算法:
标记清除:标记和清除的效率都不高、产生碎片;
复制:代价高只能用到一半内存(新生代中使用,Eden:Survicor:Survicor=8:1:1);
标记-整理:老年代使用;
垃圾收集器:
Serial(client模式下的默认新生代收集器):
缺点:单线程且会停止所有工作线程;
优点:简单高效;
ParNew(Serial的多线程版本,server模式下的默认新生代收集器):
缺点:在单核场景下性能不如Serial;
优点:能和CMS收集器配合工作;
Parallel Scavenge(类似ParNew,关注吞吐量):
缺点:不能和CMS收集器配合工作;
优点:可以设置停顿间隙以及吞吐量、有自适应调节策略;
CMS(关注用户线程停顿时间)
Serial Old:Serial的老年代版本,使用标记整理算法,主要client模式下使用,并且可作为CMS的后备方案,在并发收集发送Concurrent Mod Failure的时候使用。
Parallel Old:JDK1.6才开始提供,配合Parallel Scavenge达到吞吐量优先的效果。
CMS:一种以最短回收停顿时间为目标的收集器,使用标记清除算法。分初始标记、并发标记、重新标记、并发清除四个阶段,其中第1和3需要停顿用户响应;
优点:并发收集、低停顿;
缺点:对CPU资源非常敏感、无法处理浮动垃圾可能出现Concurrent Mod Failure导致Full GC、产生内存碎片;
G1收集器:JDK1.6.14以后才提供,比CMS有两个明显改进:基于“标识-整理”算法、精确控制停顿。
内存分配和回收策略:对象优先在Eden区分配,大对象和长期存活的对象直接进去老年代;
JVM垃圾收集
原创上一篇:一个码农的工作总结
下一篇:阻塞算法和非阻塞算法对比
举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
全网最全JDK1~JDK15十一种JVM垃圾收集器的原理总结
HotSpot虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,没有最好的垃圾收集器..
算法 jvm java 多线程 编程语言 -
5种JVM垃圾收集器特点和8种JVM内存溢出原因
5种JVM垃圾收集器特点和8种JVM内存溢出原因
Java JVM垃圾收集器 JVM内存 -
面试官:你对JVM垃圾收集器了解吗?13连问你是否抗的住!
13道JVM垃圾收集器相关面试题解析
Java JVM JVM面试题 JVM垃圾收集机制 JVM垃圾收集器 -
深入理解JVM系列教程(完) - 终章总结
《深入理解JVM系列教程》至此正式讲解完毕
github 垃圾回收机制 可视化工具 -
38问JVM:带你“开膛破肚”把JVM里里外外都学明白
本篇文章多达38道面试题,照顾到了JVM的方方面面,都是常见的题目。如果背诵记忆下来,进入大厂非常的easy。
java 面试 经验分享 开发语言 Java