JVM垃圾收集算法

标记清除算法

1先把垃圾 对象标记出来

2然后再进行挨个清除

缺点:

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

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

复制算法(适合年轻代)

1.内存会分为两半

2.将存活 对象标记

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

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

缺点:

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

适合年轻代原因:

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

标记整理算法

1.将垃圾 对象进行标记

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

分代收集算法

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

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

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

相关推荐
本妖精不是妖精1 分钟前
搭建 JNI 开发环境:使用 IntelliJ IDEA 和 CLion
java
老毛肚9 分钟前
uniapp-ruoyi-spring部署宝塔
java·spring·uni-app
diediedei12 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
砚边数影12 分钟前
决策树实战:基于 KingbaseES 的鸢尾花分类 —— 模型可视化输出
java·数据库·决策树·机器学习·分类·金仓数据库
weixin_4454023015 分钟前
Python游戏中的碰撞检测实现
jvm·数据库·python
夕除15 分钟前
js--6
java·开发语言
手握风云-31 分钟前
JavaEE 进阶第十三期:Spring Ioc & DI,从会用容器到成为容器(下)
java·spring·java-ee
组合缺一34 分钟前
论 AI Skills 分布式发展的必然性:从单体智能到“云端大脑”的跃迁
java·人工智能·分布式·llm·mcp·skills
砚边数影35 分钟前
决策树原理(一):信息增益与特征选择 —— Java 实现 ID3 算法
java·数据库·决策树·机器学习·kingbase·数据库平替用金仓·金仓数据库
2401_8324027536 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python