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

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

相关推荐
weisian1515 小时前
JVM--16-面试题2:请详细描述 JVM 的运行时数据区
jvm
Drifter_yh5 小时前
「JVM」 并发编程基石:Java 内存模型(JMM)与 Synchronized 锁升级原理
java·开发语言·jvm
Coder_Boy_6 小时前
以厨房连锁故事为引,梳理Java后端全技术脉络(JVM到云原生,总结篇)
java·jvm·spring boot·分布式·spring·云原生
weisian1516 小时前
JVM--15-面试题1:谈谈你对 JVM 的理解?它的核心作用是什么?
jvm
Drifter_yh20 小时前
「JVM」 深入剖析 JVM 内存结构:从底层原理到线上排查
java·jvm
何中应21 小时前
使用jvisualvm提示“内存不足”
java·jvm·后端
何中应21 小时前
如何手动生成一个JVM内存溢出文件
java·jvm·后端
消失的旧时光-19431 天前
C++ 多线程与并发系统取向(五)—— std::atomic:原子操作与状态一致性(类比 Java Atomic)
开发语言·jvm·c++·并发
Drifter_yh1 天前
「JVM」 深入理解 StringTable:从底层编译优化到 intern 核心解密
java·jvm