美文网首页
jvm 垃圾收集器

jvm 垃圾收集器

作者: kokokokokoishi | 来源:发表于2019-03-27 10:13 被阅读0次

新生代

Serial

单线程收集器, 进行gc时会进行STW(Stop the world), 暂停其他工作线程

ParNew

Serial多线程版本

Parallel Scavenge

复制算法多线程垃圾收集器, 关注吞吐量(CPU总时间 = 线程work时间 + gc时间),
-XX:MaxGCPauseMillis, 当这个数值变小时,会减少gc的时间, 牺牲吞吐量(缩减新生代的大小, 将导致更频繁的gc)
-XX:+UseAdaptiveSizePolicy, 设置后可不用配置新生代大小, eden, survivor比例, 晋升老年代对象年龄, 这些会在运行时被动态调节以获得合适的吞吐量

老年代

Serial Old

老年代单线程收集器, 使用标记-整理算法, 会出现STW

Parallel Old

老年代多线程收集器, 使用标记-整理算法, 与 Parallel Scavenge 配合使用

CMS(Concurrent Mark Swap)

采用标记-清除
四阶段

1 初始标记

标记gc roots 直接关联到的对象 (需要STW)

2 并发标记

gc root tracing (与工作线程并发)

3 重新标记

重新标记 2 阶段 产生变化(需要STW)

4 并发删除

与工作线程并发

G1(garbage first)

标记-整理
将新生代 和 老年代划分为多个region, 跟踪每个region 垃圾堆积程度, 优先处理堆积度大的region

相关文章

  • G1收集器详解

    详解 JVM Garbage First(G1) 垃圾收集器 G1垃圾收集器入门

  • 2020互联网Java后端面试专题解析—JVM21题

    前言 文章对 JVM 内存区域分布、JVM 内存溢出分析、JVM 垃圾回收算法/垃圾收集器、JVM 性能调优工具及...

  • 5种JVM垃圾收集器特点和8种JVM内存溢出原因

    先来看看5种JVM垃圾收集器特点 一、常见垃圾收集器 现在常见的垃圾收集器有如下几种: 新生代收集器: Seria...

  • Jvm之CMS垃圾收集器

      这篇文章主要介绍JVM的CMS垃圾收集器,以及JVM提供的垃圾收集算法。 一、垃圾收集算法   JVM提供的三...

  • GC - 收集器

    概述 垃圾收集器是垃圾回收算法的具体实现,不同商家、不同版本的 JVM 所提供的垃圾收集器可能会有差别 收集器组合...

  • JVM源码分析系列

    JVM G1算法系列 G1垃圾收集器介绍 G1垃圾收集器之RSet G1垃圾收集器之SATB G1垃圾收集器之对象...

  • JVM垃圾回收

    JVM垃圾收集器 一、垃圾收集器的分类 1.1 Serial GC 出现的最早,比较古老,最大的特点就是垃圾收集策...

  • JVM

    JVM(1):Java 类的加载机制 JVM(2):JVM内存结构 JVM(3):Java GC算法 垃圾收集器 ...

  • JVM垃圾收集器总结

    通过上篇JVM垃圾回收算法和垃圾收集器我们对JVM的七大垃圾收集器的运行原理有了大致的了解,我们来总结一下他们之间...

  • 深入学习JVM(三) -- JVM垃圾收集-G1

    G1 (Garbage First)垃圾收集器 因为上一篇文章JVM垃圾收集器总结[https://juejin....

网友评论

      本文标题:jvm 垃圾收集器

      本文链接:https://www.haomeiwen.com/subject/pctgvqtx.html