JVM垃圾回收算法解析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,JVM垃圾回收算法解析标记-清除算法 该算法为最基础的算法。它分为标记和清除两个阶段,首先标记出需要回收的对象,在标记结束后,统一回收。该算法存在两个问题:一是效率问题,标记和清除过程效率都不太高,二
千家信息网最后更新 2026年11月01日JVM垃圾回收算法解析
JVM垃圾回收算法解析
标记-清除算法
该算法为最基础的算法。它分为标记和清除两个阶段,首先标记出需要回收的对象,在标记结束后,统一回收。该算法存在两个问题:一是效率问题,标记和清除过程效率都不太高,二是空间问题,在执行一次清除操作后,会存在好多不连续的内存碎片,从而造成资源的浪费。空间碎片太多将会导致,当在程序运行过程中,需要分配较大对象的时候无法找到足够的连续内存将会导致下一次垃圾收集操作。复制算法
该算法是在标记-清除算法的基础上出现的,它主要是为了提高效率,它将内存区域分为两个相等的块,每次只使用其中的一块,当一块用完了,就将还存活着的对象移动到另外一块上,然后将已存在的对象所占用的内存释放掉,这样只是把其中的一块内存释放掉,也不存在内存碎片的问题,但这种的算法的效率是建立在缩小内存为原来的50%的前提上,它是用空间换空间来获取的。标记-整理算法
复制算法存在一个问题,当对象存活率较高时,它会频繁的进行复制操作,这样也会导致效率低下。标记-整理算法在前两个算法的基础上出现,它的标记过程和标记-清除算法过程是一样,只是它没有对可回收的对象进行回收,而是让所有存活的对象向一测移动,然后清除掉边界以外的内存。
分代收集算法
当前商业虚拟机的垃圾收集都采用分代收集算法,它是根据对象的生存周期将内存分为几部分,它一般分为新生代和老生代,在新生代,如果发现新生代中发现有大批对象死亡,少量对象存活,则采用复制算法,只需要牺牲少量的复制成本就可以完成本次垃圾收集,而老生代因为对象存活率,没有多余的空间为其做担保,一般会使用标记-清除算法或标记-整理算法进行处理。作者:柯之梦
来源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/85997091
版权声明:本文为博主原创文章,转载请附上博文链接!
算法
标记
对象
内存
效率
空间
问题
垃圾
两个
过程
基础
新生
新生代
碎片
只是
存活率
老生
移动
低下
较大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
华服互联网科技怎么样
互联网金融监管科技数据
互联网通讯科技
上海挚品互联网科技
互联网科技ppt模板
互联网科技大会
成都仁贤领冠互联网科技有限公司
科技与互联网哪个更好
移动互联网年度科技创新
科技类公司包括互联网吗
迪庆互联网科技招生
伊宁互联网科技做什么的
小米互联网科技园入驻
信承诺互联网科技有限公司
求路客互联网科技电话
第三届互联网大会安防黑科技
优雇互联网科技有限公司
伍佰万互联网科技是干嘛的
互联网 科技节活动 微视频大赛
互联网科技企业
互联网下的科技发展
互联网科技金融
亿策互联网科技
互联网女皇 腾讯科技
深圳期待互联网科技
港股科技和互联网
移动互联网年度科技创新
中国主要互联网科技公司
互联网 科技节活动 微视频大赛