JVM垃圾收集算法

标记清除算法

1先把垃圾 对象标记出来

2然后再进行挨个清除

缺点:

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

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

复制算法(适合年轻代)

1.内存会分为两半

2.将存活 对象标记

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

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

缺点:

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

适合年轻代原因:

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

标记整理算法

1.将垃圾 对象进行标记

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

分代收集算法

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

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

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

相关推荐
evans在进步5 分钟前
HashMap 为什么线程不安全?ConcurrentHashMap 如何解决?
java·spring boot·spring
我命由我1234516 分钟前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法
闲猫20 分钟前
LangChain / Integrations / Integrations by component / Tool
java·数据库·langchain
小田的博客22 分钟前
SAP MM 供应商银行主数据更新报错!message R1228!
android·java·服务器
范什么特西1 小时前
知识总结03
java
空谷有来人2 小时前
Ubuntu22.04安装jdk17,配置环境变量
java·jdk
程序员雷欧2 小时前
ThreadPoolExecutor 深度解析:从核心参数到源码实现的全面剖析
java·开发语言·jvm
谢尔登2 小时前
分享一些我常用的Skill
java·人工智能·python·actionscript
AaronJonah2 小时前
企业级线程池 traceId 闭环:上下文传递与全链路追踪实战
java·线程池·traceid跨线程传递