JVM垃圾收集算法

标记清除算法

1先把垃圾 对象标记出来

2然后再进行挨个清除

缺点:

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

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

复制算法(适合年轻代)

1.内存会分为两半

2.将存活 对象标记

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

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

缺点:

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

适合年轻代原因:

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

标记整理算法

1.将垃圾 对象进行标记

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

分代收集算法

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

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

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

相关推荐
Knight_AL19 分钟前
设计模式之责任链模式:原理解析 + Java 示例
java·设计模式·责任链模式
1candobetter22 分钟前
JAVA后端开发——深入理解 Java Static
java·开发语言
一念一花一世界29 分钟前
PostIn项目实战 - 使用Mock数据尽早满足前后端接口开发需求
java·mock·postin·接口管理工具
白露与泡影30 分钟前
Spring事件机制完全指南:解耦利器与实战
java·后端·spring
DYS_房东的猫32 分钟前
《 C++ 零基础入门教程》第10章:C++20 核心特性 —— 编写更现代、更优雅的 C++
java·c++·c++20
好好沉淀32 分钟前
Spring AI Alibaba
java·人工智能·spring
BD_Marathon1 小时前
MyBatis各种查询功能
java·开发语言·mybatis
雪人.1 小时前
Spring常见面试题(2026版30道面试题)
java·后端·spring
温暖小土1 小时前
深入理解 Spring Boot 配置加载顺序:外部化配置的艺术
java·springboot
小林rr1 小时前
深入探索 C++:现代特性、工程实践与性能优化全解
java·c++·性能优化