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

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

相关推荐
qq_417695053 小时前
机器学习与人工智能
jvm·数据库·python
一直都在5724 小时前
Java垃圾回收器
jvm
wuqingshun3141595 小时前
线程安全需要保证几个基本特征
java·开发语言·jvm
我真会写代码8 小时前
深入理解JVM GC:触发机制、OOM关联及核心垃圾回收算法
java·jvm·架构
森林里的程序猿猿9 小时前
垃圾收集器G1和ZGC
java·jvm·算法
Aawy12011 小时前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python
爱丽_12 小时前
GC 怎么判定“该回收谁”:GC Roots、可达性分析、四种引用与回收算法
java·jvm·算法
小钟不想敲代码12 小时前
JVM入门
jvm
柒.梧.12 小时前
线上问题定位+JVM核心面试题全解析
jvm
爱丽_14 小时前
JVM 堆参数怎么设:先建立内存基线,再谈性能优化
java·jvm·性能优化