JVM垃圾回收算法解析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,JVM垃圾回收算法解析标记-清除算法 该算法为最基础的算法。它分为标记和清除两个阶段,首先标记出需要回收的对象,在标记结束后,统一回收。该算法存在两个问题:一是效率问题,标记和清除过程效率都不太高,二
千家信息网最后更新 2025年12月03日JVM垃圾回收算法解析
JVM垃圾回收算法解析
标记-清除算法
该算法为最基础的算法。它分为标记和清除两个阶段,首先标记出需要回收的对象,在标记结束后,统一回收。该算法存在两个问题:一是效率问题,标记和清除过程效率都不太高,二是空间问题,在执行一次清除操作后,会存在好多不连续的内存碎片,从而造成资源的浪费。空间碎片太多将会导致,当在程序运行过程中,需要分配较大对象的时候无法找到足够的连续内存将会导致下一次垃圾收集操作。复制算法
该算法是在标记-清除算法的基础上出现的,它主要是为了提高效率,它将内存区域分为两个相等的块,每次只使用其中的一块,当一块用完了,就将还存活着的对象移动到另外一块上,然后将已存在的对象所占用的内存释放掉,这样只是把其中的一块内存释放掉,也不存在内存碎片的问题,但这种的算法的效率是建立在缩小内存为原来的50%的前提上,它是用空间换空间来获取的。标记-整理算法
复制算法存在一个问题,当对象存活率较高时,它会频繁的进行复制操作,这样也会导致效率低下。标记-整理算法在前两个算法的基础上出现,它的标记过程和标记-清除算法过程是一样,只是它没有对可回收的对象进行回收,而是让所有存活的对象向一测移动,然后清除掉边界以外的内存。
分代收集算法
当前商业虚拟机的垃圾收集都采用分代收集算法,它是根据对象的生存周期将内存分为几部分,它一般分为新生代和老生代,在新生代,如果发现新生代中发现有大批对象死亡,少量对象存活,则采用复制算法,只需要牺牲少量的复制成本就可以完成本次垃圾收集,而老生代因为对象存活率,没有多余的空间为其做担保,一般会使用标记-清除算法或标记-整理算法进行处理。作者:柯之梦
来源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/85997091
版权声明:本文为博主原创文章,转载请附上博文链接!
算法
标记
对象
内存
效率
空间
问题
垃圾
两个
过程
基础
新生
新生代
碎片
只是
存活率
老生
移动
低下
较大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国内互联网科技公司都是做什么
数据库选型与服务平台建设之路
税控盘连接服务器连接异常
产业基金数据库有哪些
网络安全教案 博客
软件开发大专可以做什么
宿州直播平台软件开发定制公司
新乡软件开发规定
合耀网络技术有限公司
东莞企业冷库软件开发
三级网络技术通关指南
优客在线网络技术有限公司
钟汉良视频软件开发
网络安全宣传主题班会小学生
直播软件开发收费标准
四川眉县互联网科技产业园
互联网金融监管中的科技创新
医院使用服务器么
网络安全教育片头
数据库技术在电气专业中的应用
软件开发2年后用什么笔记本
著名的数据库
php服务器环境搭建和管理
上海推广网络技术模板规格
工银科技互联网医院
网络安全简易图片
数据库系统奔溃的原因
软件开发运行慢
涵悟睇互联网科技
河北智能软件开发哪家强