[JVM篇]分代垃圾回收

分代垃圾回收

分代收集法 是目前大部分 JVM 所采用的方法,其核心思想是根据对象存活的不同生命周期将内存划分为不同的域,一般情况下将 GC 堆划分为老生代 (Tenured/Old Generation)和新生代(Young Generation)。老生代的特点是每次垃圾回收时只有少量对象需要被回收,新生代的特点是每次垃圾回收时都有大量垃圾需要被回收,因此可以根据不同区域选择不同的算法。

新生代(标记-复制算法)

每次垃圾收集都能发现新生代存活对象特别少,只有少量存活,死去对象特别多,因此选用"标记-复制算法",只需付出少量存活对象的复制成本就可以完成收集。

老年代(标记-整理算法)

老年代活着的对象特别多,适用于"标记-整理"或"标记-清除"算法。

因为对象存活率高,没有额外空间对它进行分配担保,就必须采用"标记-整理"或"标记-清除"算法来进行回收,不必进行内存复制,且直接腾出空闲内存。

相关推荐
小杰帅气13 小时前
内存管理C++
jvm
YuanlongWang14 小时前
C#基础——GC(垃圾回收)的工作流程与优化策略
java·jvm·c#
白露与泡影14 小时前
BAT 大厂 java高频面试题汇总:JVM+Spring+ 分布式 +tomcat+MyBatis
java·jvm·spring
それども15 小时前
忽略Lombok构建警告
java·开发语言·jvm
专注于大数据技术栈20 小时前
Java中JDK、JRE、JVM概念
java·开发语言·jvm
YuanlongWang20 小时前
C# 基础——值类型与引用类型的本质区别
java·jvm·c#
顾漂亮21 小时前
JVM底层攻坚
java·jvm·spring
黄昏恋慕黎明1 天前
JVM虚拟机(面试重)
jvm·面试·职场和发展
救救孩子把2 天前
从 JDK 8 到 JDK 23:HotSpot 垃圾回收器全景演进与深度剖析
java·开发语言·jvm·jdk
光军oi2 天前
JAVA全栈JVM篇————初识JVM
java·开发语言·jvm