【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则是对整个堆内存进行垃圾回收。

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

相关推荐
此时不提桶,更待何时4 天前
01-06-A-JVM排查实战详解
java·jvm
wuminyu5 天前
HotSpot的轻量锁与膨胀后的ObjectMonitor状态重建原理
java·linux·c语言·jvm·c++
需要8265 天前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
凤山老林5 天前
Spring Boot 应用 JVM 性能调优实战:GC 日志分析、堆内存规划与容器环境避坑
jvm·spring boot·gc·堆内存
需要8266 天前
Arthas 一个命令排查线上问题
java·jvm·spring·spring cloud
程序员阿鹏6 天前
简单介绍一下软引用
java·开发语言·jvm·数据结构·后端
lsylalalala7 天前
JVM(Java虚拟机)
jvm
xieliyu.7 天前
JVM 垃圾回收机制详解:从标记过程、回收算法到垃圾收集器
java·jvm·笔记·java-ee
此时不提桶,更待何时7 天前
01-04-B-垃圾回收面试与生产事故实战
java·jvm·面试
kian.wqn8 天前
【JVM核心体系02】JVM 运行时内存区域:堆、栈、元空间、直接内存一次讲清
jvm