JVM中的垃圾收集算法是怎么样的
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,今天就跟大家聊聊有关 JVM中的垃圾收集算法是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1,标记-清除算法概念:首先标记出所有需要
千家信息网最后更新 2025年01月22日JVM中的垃圾收集算法是怎么样的
今天就跟大家聊聊有关 JVM中的垃圾收集算法是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1,标记-清除算法
概念:首先标记出所有需要回收的对象,在标记完成后统一回收所有标记的对象。特点: 1)效率问题:标记和清除的效率都不高。 2)空间问题:标记清除之后会产生大量不连续的内存碎片,碎片太多可能会导致以后需要分配较大的对象时,因无法找到足够大的连续内存而不得不提前触发另一次垃圾收集的动作。
2,复制算法
概念:将可用的内存分为(容量)大小相等的两块,每次只使用其中的一块。当这一块的内存用完后,就将还存活的对象复制到另一块上面,然后再把已使用过的内存块一次性清理掉。特点: 1)效率:实现简单,运行效率高 2)空间问题:将内存的大小缩小为原来的一半应用:新生代的回收 提醒: 1)新生代中大部分的对象时"朝生夕死"的,所有并不需要安装1:1的比例来划分内存空间。 2)虚拟机将新生代内存分为一块较大的Eden空间和两块较小的Survivor空间(Survivor to和Survivor from),每次使用Eden空间和其中一块Survivor空间。 过程: 1)每次创建对象时,首先会在Eden中分配,若Eden已满,则在Survior from中分配,如果Eden和Survior from都无法容纳这个对象,则JVM会进行一次GC; 2)GC时,将Eden和Survivor from中还存活的对象一次性地复制到另外一块Survivor to空间上,最后清理掉Eden和Survivor form空间; 3)当Survivor to空间不够用时,需要依赖老年代进行分配担保。 例如:HotSpot虚拟机默认Eden和两个Survivor的大小比例是8:1:1,也就是每次新生代中可用内存的空间为整个新生代容量的90%,只有10%的内存会被浪费掉。内存分配担保机制: 在新生代GC(Minor GC)前,虚拟机会先检查老年代中可用的最大连续空间是否大于新生代所有对象的总空间 1)如果满足条件,那么新生代GC就可以确保是安全的 2)如果不满足条件,则虚拟机会查看HandlePromotionFailure设置是否允许担保失败。 如果允许担保失败,那么会继续检查老年代中可用的最大连续空间是否大于历次晋升到老年代的对象的平均大小, 如果大于,将会进行一次新生代GC,尽管这次新生代GC是有风险的 如果小于,那么这时不会进行新生代GC,而是改为进行一次老年代GC(Full GC) 如果不允许担保失败,那么这时不会进行新生代GC,而是改为进行一次老年代GC(Full GC)
3,标记-整理算法
概念:概念:首先标记出所有需要回收的对象,在标记完成后让所有存活的对象都向一端移动,然后直接清理掉没有存活对象的另一端。
4,分代收集算法
Java堆分为新生代和老年代,在新生代中采用 复制算法 回收,在老年代中使用 标记-清理 或 标记-整理 算法来回收
看完上述内容,你们对 JVM中的垃圾收集算法是怎么样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
新生
新生代
空间
对象
内存
标记
算法
年代
担保
大小
效率
概念
垃圾
内容
问题
分配
最大
较大
一次性
一端
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术的职业发展
怎样删除服务器里的表格
中等职业学校网络技术培训
余姚市云端网络技术
服务器木马删除
造价数据库软件开发
手机维修网络安全吗
数据库安全的关键是什么
方舟服务器管理员刷物品代码
oracle数据库列名唯一
sql语句中去重复数据库
软件开发定制服务公司怎么选
服务器渲染利于seo
小v教育中小学生网络安全
浙江哪所大学网络安全
洛阳果鲜乐网络技术有限公司
吴江区直销服务器货源充足
服务器开机输入密码后又让输入
如何自建家庭共享服务器
网络技术运用浙江教育出版社
宜宿网络技术公司
育碧服务器可以修吗
42u服务器怎么样
sql数据库名置疑
网址链接客户端和服务器不支持
内蒙古党员教育软件开发公司
吉林塔式服务器批发
数据库答案王珊
网吧服务器为什么要用密码
网络安全领域的工作