GC之Minor/Young/Major GC的区别

我们平时提及Minor GC、Young GC、Major GC,它们之间的关系是怎样的呢?

如下图1所示,一图胜千言,这是JDK8之前的,JDK8上没有最右边的Perm区。

图1 Minor/Young/Major GC的关系

此图来自国外的一篇博客,建议读者阅读原文,链接地址

从图1来看Minor GC发生在Eden区;Young GC发生在Eden、S0、S1区;Major GC发生在Old区。

引申出一个问题,Full GC与上述这些的关系呢?

JDK8的heap图,觉得挺好的,原文链接,建议自行查看原文

图2 JDK8的heap图

原文地址:https://www.cnblogs.com/tiancai/p/12630585.html

时间: 2024-11-02 17:15:35

GC之Minor/Young/Major GC的区别的相关文章

Minor GC(Young GC)、Full GC、Major GC、Old GC

概念: ● 新生代 GC(Minor GC):从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,因为 Java 对象大多都具备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快.这一定义既清晰又易于理解.但是,当发生Minor GC事件的时候,有一些有趣的地方需要注意到: 1. 当 JVM 无法为一个新的对象分配空间时会触发 Minor GC,比如当 Eden 区满了.所以分配率越高,越频繁执行 Minor GC. 2. 内存池被填满

Java垃圾回收之Minor GC和Major GC

JAVA堆的描述如下: 内存由Perm和Heap组成.其中Heap = {Old + NEW = { Eden , from, to } } JVM内存模型中分两大块: NEW Generation:程序新创建的对象都是从新生代分配内存,新生代由Eden Space和两块相同大小的Survivor Space(通常又称S0和S1或From和To)构成,可通过-Xmn参数来指定新生代的大小,也可以通过-XX:SurvivorRation来调整Eden Space及Survivor Space的大小

gc之四--Minor GC、Major GC和Full GC之间的区别

针对HotSpot VM的实现,它里面的GC其实准确分类只有两大种: Partial GC:并不收集整个GC堆的模式 Young GC:只收集young gen的GC Old GC:只收集old gen的GC.只有CMS的concurrent collection是这个模式 Mixed GC:收集整个young gen以及部分old gen的GC.只有G1有这个模式 Full GC:收集整个堆,包括young gen.old gen.perm gen(如果存在的话)等所有部分的模式. Major

Java GC工作原理以及Minor GC、Major GC、Full GC简单总结

名词解释: GC:垃圾收集器 Minor GC:新生代GC,指发生在新生代的垃圾收集动作,所有的Minor GC都会触发全世界的暂停(stop-the-world),停止应用程序的线程,不过这个过程非常短暂. Major GC/Full GC:老年代GC,指发生在老年代的GC. JVM:Java Virtual Machine(Java虚拟机)的缩写. 正文: >堆 众所周知,所有通过new创建的对象的内存都在堆中分配,堆被划分为新生代和老年代,新生代又被进一步划分为Eden和Survivor区

Full GC 和 Minor GC,傻傻分不清楚

这篇文章主要来介绍下 JVM 中的各种 GC,让大家来搞清楚这几个概念. 大家可能见到过很多的 GC 名词,比如:Minor GC.Young GC.Full GC.Old GC.Major GC.Mixed GC. 这么多概念,想想都头疼,到底各种乱七八糟的 GC 指的是什么? 下面先引用 R 大在知乎上的回答: 针对 HotSpot VM 的实现,它里面的 GC 其实准确分类有两种: Partial GC(局部 GC): 并不收集整个 GC 堆的模式 Young GC: 只收集 Young

聊聊JVM(四)深入理解Major GC, Full GC, CMS

很多人都分不清Major GC, Full GC的概念,事实上我查了下资料,也没有查到非常精确的Major GC和Full GC的概念定义.分不清这两个概念可能就会对这个问题疑惑:Full GC会引起Minor GC吗? 经过一系列的查找和对JVM表现的分析,基本可以给Full GC和Major GC下一个定义了,这篇说一说概念和理由. 这篇文章Major GCs – Separating Myth from Reality 基本讨论的也是这个问题,但是它没有给出实际的证明. 我们可以认为Maj

Major GC和Full GC的区别是什么?触发条件呢?

作者:RednaxelaFX链接:http://www.zhihu.com/question/41922036/answer/93079526来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 针对HotSpot VM的实现,它里面的GC其实准确分类只有两大种: Partial GC:并不收集整个GC堆的模式 Young GC:只收集young gen的GC Old GC:只收集old gen的GC.只有CMS的concurrent collection是这个模式 M

深入理解Major GC, Full GC, CMS

很多人都分不清Major GC, Full GC的概念,事实上我查了下资料,也没有查到非常精确的Major GC和Full GC的概念定义.分不清这两个概念可能就会对这个问题疑惑:Full GC会引起Minor GC吗? 经过一系列的查找和对JVM表现的分析,基本可以给Full GC和Major GC下一个定义了,这篇说一说概念和理由. 这篇文章Major GCs – Separating Myth from Reality 基本讨论的也是这个问题,但是它没有给出实际的证明. 我们可以认为Maj

GC 调优(实战篇) - GC参考手册

本章介绍导致GC性能问题的典型情况.相关示例都来源于生产环境, 为演示需要做了一定长度的精简. 说明: Allocation Rate, 翻译为分配速率, 而不是分配率; 因为不是百分比,而是单位时间内分配的量; 同理, Promotion Rate 翻译为 提升速率; 您应该已经阅读了前面的章节: 垃圾收集简介 - GC参考手册 Java中的垃圾收集 - GC参考手册 GC 算法(基础篇) - GC参考手册 GC 算法(实现篇) - GC参考手册 GC 调优(基础篇) - GC参考手册 GC