JVM垃圾收集算法

标记清除算法

1先把垃圾 对象标记出来

2然后再进行挨个清除

缺点:

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

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

复制算法(适合年轻代)

1.内存会分为两半

2.将存活 对象标记

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

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

缺点:

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

适合年轻代原因:

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

标记整理算法

1.将垃圾 对象进行标记

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

分代收集算法

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

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

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

相关推荐
MengFly_1 天前
Compose 脚手架 Scaffold 完全指南
android·java·数据库
PPPPickup1 天前
application.yml或者yaml文件不显示绿色问题
java·数据库·spring
*小海豚*1 天前
springcloud项目运行启动类无法启动,IDEA也没有任何提示
java·ide
zhougl9961 天前
Java 枚举类(enum)详解
java·开发语言·python
想七想八不如114081 天前
2019机试真题
java·华为od·华为
恋爱绝缘体11 天前
Java语言提供了八种基本类型。六种数字类型【函数基数噶】
java·python·算法
MX_93591 天前
使用Spring的BeanFactoryPostProcessor扩展点完成自定义注解扫描
java·后端·spring
弹简特1 天前
【JavaEE05-后端部分】使用idea社区版从零开始创建第一个 SpringBoot 程序
java·spring boot·后端
1104.北光c°1 天前
【黑马点评项目笔记 | 登录篇】Redis实现共享Session登录
java·开发语言·数据库·redis·笔记·spring·java-ee
爬山算法1 天前
Hibernate(81)如何在数据同步中使用Hibernate?
java·后端·hibernate