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

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

相关推荐
小江的记录本8 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
思麟呀14 小时前
C++11并发编程:call_once一次性执行+atomic原子类型+CAS无锁编程+自旋锁
linux·开发语言·jvm·c++·windows
Fanfanaas16 小时前
C++ 继承
java·开发语言·jvm·c++·学习·算法
周杰伦fans18 小时前
C# 异常继承深度解析:从设计原则到 sealed 关键字的奥秘
java·jvm·c#
小L写Java19 小时前
第三章:Java 内存模型 (JMM) 与运行时数据区
java·jvm
在繁华处1 天前
Java从零到熟练(十):JVM基础与性能优化
java·jvm·性能优化
go不是csgo2 天前
GORM 上手:一个 main.go 跑通 Go 数据库增删改查
jvm·数据库·golang
KobeSacre2 天前
JVM G1 垃圾回收器
java·开发语言·jvm
右耳朵猫AI2 天前
Java & JVM技术周刊 2026年第20周
java·开发语言·jvm
小张小张爱学习2 天前
JVM高频面试题
java·jvm