JVM垃圾收集算法

标记清除算法

1先把垃圾 对象标记出来

2然后再进行挨个清除

缺点:

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

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

复制算法(适合年轻代)

1.内存会分为两半

2.将存活 对象标记

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

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

缺点:

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

适合年轻代原因:

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

标记整理算法

1.将垃圾 对象进行标记

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

分代收集算法

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

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

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

相关推荐
我命由我1234532 分钟前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
苜蓿muxu1 小时前
Java 字符串拼接:+、StringBuilder、StringBuffer的区别
java
摇滚侠1 小时前
《Java并发编程之美》第 4 章 Java 并发包中原子操作类原理剖析 阅读笔记 7
java·笔记·python
旋律4142 小时前
同义方法区别(增加类与删除类)
java·后端
学到老活到老2 小时前
方法执行完了,对象为什么还占着内存?
java·jvm
用户7771298509122 小时前
常见的同义方法的区别:增加类和删除类
java·后端
十年Java程序媛2 小时前
Java this 与 super 详解|继承高频踩坑 + 面试题整理
java·spring boot·面试
用户7771298509122 小时前
Stream流式使用
java
旋律4142 小时前
List、Set、Map:三个装数据的容器,到底啥区别?怎么遍历?
java·后端