【JVM】JVM中的分代回收

文章目录

分代收集算法

什么是分代

在java8时,堆被分为了两份: 新生代和老年代【1:2】

其中:

对于新生代 ,内部又被分为了三个区域。
伊甸园区Eden,新生的对象都分配到这里
幸存者区survivor(分成from和to)

Eden区,from区,to区【8:1:1】

分代收集算法-工作机制

创建的对象,都会先分配到eden区

当伊甸园内存不足,标记伊甸园from(现阶段没有)的存活对象

将存活对象采用复制算法复制到 to 中,复制完毕后,伊甸园和 from 内存都得到释放

经过一段时间后伊甸园的内存又出现不足,标记eden区域to区存活的对象,将存活的对象复制到from区

当幸存区对象熬过几次回收(最多15次),晋升到老年代幸存区内存不足大对象会导致提前晋升

MinorGC、 Mixed GC 、 FullGC的区别是什么

Minor GC(新生代GC)、Mixed GC(混合GC)和Full GC(完全GC)是垃圾回收过程中的三个不同阶段。它们在触发条件执行范围影响范围上存在一些区别。

Minor GC主要针对新生代进行垃圾回收,
Mixed GC是对新生代和部分老年代的垃圾回收,
Full GC则是对整个堆内存进行垃圾回收。

随着垃圾回收的范围扩大停顿时间对应用程序影响也会增加。

相关推荐
CaracalTiger13 小时前
如何解决Unexpected token ‘<’, “<!doctype “… is not valid JSON 报错问题
java·开发语言·jvm·spring boot·python·spring cloud·json
江湖有缘20 小时前
自托管RSS解决方案:Docker化Fusion安装教程
java·jvm·docker
Chan161 天前
《深入理解Java虚拟机》| 类加载与双亲委派机制
java·开发语言·jvm·面试·java-ee·intellij-idea
闻哥1 天前
GET和POST请求的本质区别
java·网络·jvm·spring·http·面试·https
野犬寒鸦2 天前
从零起步学习并发编程 || 第八章:ThreadLocal深层解析及常见问题:避坑指南与最佳实践
java·服务器·开发语言·jvm·算法
生命因何探索2 天前
JVM知识汇总
jvm
heartbeat..2 天前
Java 中的类加载器的双亲委派模型:原理、层级与实现
java·开发语言·jvm·类加载器
Mr Aokey3 天前
JVM三剑客:内存模型、类加载机制与垃圾回收精讲
java·jvm
程序员ken3 天前
献给自己的一款个人管理的桌面软件(一)
java·开发语言·jvm
团子的二进制世界3 天前
JVM 运行时数据区的 7 大组成部分
jvm