JVM垃圾收集算法

标记清除算法

1先把垃圾 对象标记出来

2然后再进行挨个清除

缺点:

1.清除后的内存空间是不连续的碎片,

2.效率也不高(相对于复制算法,复制算法是一次性清除,标记清除是挨个清除)

复制算法(适合年轻代)

1.内存会分为两半

2.将存活 对象标记

3.将存活对象挨个放到另一半区域

4.将原区域一次性清除掉

缺点:

1.内存使用一半,对内存的使用率不高

适合年轻代原因:

年轻代的对象存活率不高,可复制的存活对象较少,复制算法的效率就会高

标记整理算法

1.将垃圾 对象进行标记

2.清理时,边清理边把存活对象挪到一起

分代收集算法

对于不同区的对象进行不同处理

1.年轻代:复制算法(对象存活率不高,复制算法的效率块)

2.老年代:标记整理算法(对象存活率高,没有额外空间来分配)

相关推荐
m0_7403524213 小时前
网页如何运行html
jvm·数据库·python
2301_7756398913 小时前
mysql大表数据清理的利器_使用表分区按天删除数据
jvm·数据库·python
绿草在线13 小时前
02. JakartaEE11+Thymeleaf实现图书管理模块
java
胡图图不糊涂^_^13 小时前
网络原理笔记
java·网络·笔记·学习·tcp/ip·http·https
m0_6845019813 小时前
Django 信号中为 ImageField 指定自定义保存路径的正确实践
jvm·数据库·python
嘻嘻哈哈樱桃13 小时前
牛客经典101题题解集--哈希
java·数据结构·python·算法·leetcode·职场和发展·哈希算法
2301_7873124313 小时前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
qq_4327036613 小时前
CSS如何引入CSS预加载器配置_优化样式编译流程提升效率
jvm·数据库·python
SamDeepThinking13 小时前
秒杀系统里的RocketMQ,不是发个消息那么简单
java·后端·架构
2401_8323655213 小时前
如何用 FormData 配合 Fetch 实现无刷新的多文件上传
jvm·数据库·python