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

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

相关推荐
我是一只小青蛙8885 小时前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
阿崽meitoufa6 小时前
JVM虚拟机:垃圾收集器和判断对象是否存活的算法
java·jvm·算法
杏花春雨江南12 小时前
JavaWeb企业级项目实战:从SSH到SSM演进 + MQ/Redis/ES高可用架构落地全复盘(实战干货+避坑指南)
java·jvm·spring
期待のcode13 小时前
性能监控工具
java·开发语言·jvm
小白不会Coding14 小时前
一文详解JVM中类的生命周期
java·jvm·类的生命周期
TracyCoder12314 小时前
JVM 内存模型全景解析
jvm
洛豳枭薰15 小时前
jvm运行时数据区& Java 内存模型
java·开发语言·jvm
chilavert31816 小时前
技术演进中的开发沉思-319 JVM:附录指令集
jvm
wulalalalalalalal17 小时前
JVM(一):运行时数据区
jvm
期待のcode18 小时前
JVM 中对象进入老年代的时机
java·开发语言·jvm