JVM中的垃圾收集算法是怎么样的
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,今天就跟大家聊聊有关 JVM中的垃圾收集算法是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1,标记-清除算法概念:首先标记出所有需要
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
县支行网络安全自查情况报告
浩景种植数据库
网络安全宣传周精彩片段
做好春节期间网络安全工作的通知
c 组态软件开发设计
申论真题 网络安全
世界级网络安全公司
软件开发考研考什么
浙江软件开发均价
网络安全事件预警是什么
轻量云服务器是弹性的吗
时尚网络技术加盟有哪些
佛山专业电子书软件开发定制公司
网络安全学画画简单
软件开发理论基础
不思议迷宫游戏无法连接服务器
香港服务器空间
酷我音乐服务器超时
西门子 软件开发工作
如何获取苹果的位置数据库
监控视频管理服务器
市商务局网络安全自查报告
刷单网站带数据库
美菜网软件开发助理薪资
如何加强网络安全防决定
空间数据库 考试
数据库应用技术课程
圆通快递软件开发怎么样
外模式是数据库的全局逻辑结构
天津哪家学软件开发好