【jvm】Minor GC与Full GC
JVM GC full Minor
2023-09-27 14:29:28 时间
Minor GC与Full GC
-
新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。
-
老年代 GC(Major GC / Full GC):指发生在老年代的垃圾收集动作,出现了 Major GC,经常会伴随至少一次 Minor GC(非绝对),MajorGC 的速度一般会比 Minor GC 慢10倍以上。
-
Minor GC与Full GC触发条件:
-
- 当Eden区没有足够的空间进行分配时
- 老年代最大可用连续空间大于Minor GC历次晋升到老年代对象的平均大小
-
Full GC触发条件:
-
- 调用System.gc()时(系统建议执行Full GC,但是不必然执行)
- 老年代空间不足时
- 方法区空间不足时
- 老年代最大可用连续空间小于Minor GC历次晋升到老年代对象的平均大小
- CMS GC在垃圾回收的时候,当对象从Eden区进入Survivor区,Survivor区空间不足需要放入老年代,而老年代空间也不足时
相关文章
- JVM系列之:再谈java中的safepoint
- JVM 内存模型概述
- 胡说八道JVM—运行时数据区(栈)
- jmap命令详解----查看JVM内存使用详情
- JVM中可生成的最大Thread数量
- linux上查看jvm GC详情并获取jvm当前dump文件
- 几道高频的JVM面试题
- JVM GC和常见垃圾回收算法
- 《深入理解Scala》——第1章,第1.4节与JVM的无缝集成
- JVM_05 垃圾回收制(GC调优)
- Spark(八)JVM调优以及GC垃圾收集器
- tomcat,zookeeper,activeMQ,Kafka设置jvm参数
- JVM与GC
- JVM最多能创建多少个线程: unable to create new native thread
- 浅析Java中不使用的对象应赋值为null的深层理解:基本没必要的原因、JVM中局部变量表(运行时候的栈状态)和slot(运行时栈里的索引)的理解、Java的栈优化(重用栈索引节约内存空间)、GC的可达性分析算法-如何找到root树根(栈中引用的对象)、如何断开栈中引用与堆的联系(重写栈索引)
- JVM GC算法 CMS 详解(转)
- JVM调优总结(7):调优方法
- SpringBoot项目优化和Jvm调优(真实有效)
- JVM:这是一份全面 & 详细的 垃圾收集算法(GC) 学习指南
- 在JVM的GC机制中,Java对象不再使用时,为什么要赋值为 null ?
- JVM垃圾回收算法及分代垃圾收集器