JVM分代回收

JVM分代回收

堆中分为两份:新生代和老年代(1:2)

新生代

新生代的内部分为了三个区域

Eden区,From区,To区8:1:1

当eden区内存不足时,就会使用可达性分析算法进行标记

标记eden区和from区的存活对象

将这些对象复制到to区,对eden区和from区进行清除

如果eden下次又出现内存不足

就将这些对象复制到from区,对eden区和to区进行清除

新生代->老年代

当一个对象在15次GC中都存活下来,就会晋升到老年代

MinorGC

发生在新生代的垃圾回收,暂停时间短

暂停时间:暂停所有应用程序线程,等待垃圾回收完成

MixedGC

新生代 + 老年代部分区域的垃圾回收

FullGC

新生代 + 老年代完整的垃圾回收,暂停时间长,尽量避免

相关推荐
寂寞的船2 天前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
金銀銅鐵4 天前
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
jvm·后端·kotlin
yeccheng5 天前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
On The Road :7 天前
深入理解 JVM 垃圾回收:GC 是什么、如何判定垃圾、四大回收算法全解析
jvm·算法
Yves..7 天前
JVM 学习笔记:内存区域、类加载机制与垃圾回收
jvm
akinggw8 天前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
yh弓长8 天前
JVM 核心机制
jvm
tg_xianheyun9 天前
腾讯云国际账号注册代充值适合哪些海外业务场景?
jvm
yuniko-n9 天前
【JVM】对象内存布局
java·开发语言·jvm
wuminyu9 天前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++