当前位置:首页>车主>

gc指的什么(gc的含义是什么)

来源:原点资讯(m.360kss.com)时间:2023-11-07 15:57:16作者:YD166手机阅读>>

垃圾回收简介

说到GC垃圾回收,首先要知道什么是“垃圾”,垃圾就是没有再被使用的对象。怎样判定一个对象是不是垃圾(能不能被回收)?Java 虚拟机中使用一种叫作可达性分析的算法来决定对象是否可以被回收。

可达性分析就通过一组名为”GC Root"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,最后通过判断对象的引用链是否可达来决定对象是否可以被回收。

gc指的什么,gc的含义是什么(1)

GC Root指的是:

  • Java 虚拟机栈(局部变量表)中的引用的对象。也就是正在运行的方法中的局部变量所引用的对象
  • 方法区中静态引用指向的对象。也就是类中的static修饰的变量所引用的对象
  • 方法区中常量引用的对象。
  • 仍处于存活状态中的线程对象。
  • Native 方法中 JNI 引用的对象。
垃圾回收算法

在标记出对象是否可被回收后,接下来就需要对可回收对象进行回收。基本的回收算法有:标记-清理、标记-整理与复制算法

  • 标记清除算法:从”GC Roots”集合开始,将内存整个遍历一次,保留所有可以被 GC Roots 直接或间接引用到的对象,而剩下的对象都当作垃圾对待并回收,过程分为标记清除两个步骤
  • 标记整理算法:与标记-清除不同的是它并不简单地清理未标记的对象,而是将所有的存活对象压缩到内存的一端。最后,清理边界外所有的空间
  • 复制算法:将现有的内存空间分为两快,每次只使用其中一块,在垃圾回收时将正在使用的内存中的存活对象复制到未被使用的内存块中。之后,清除正在使用的内存块中的所有对象,交换两个内存的角色,完成垃圾回收
分代回收策略

现代虚拟机采用分代机制来进行垃圾回收,根据对象存活的周期不同,把堆内存划分为不同区域,不同区域采用不同算法进行垃圾回收。

分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。

总结

在JVM中一般采用可达性分析法进行是否可回收的判定,确定对象需要被回收后,对象在哪个代际将会采用不同的垃圾回收算法进行回收,这些算法包括:标记-清除,标记-整理与复制算法。

而之所以采用分代策略的原因是:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 如果每次垃圾回收都是对整个堆空间进行回收,花费时间相对会长,而对于生命周期长的对象而言,这种遍历是没有效果的,因为可能进行了很多次遍历,但是他们依旧存在。

栏目热文

网上gc什么意思(gc登录是什么意思)

网上gc什么意思(gc登录是什么意思)

在互联网产品中,B端、C端和G端是常用的分类方式,用于描述产品的目标用户群体和市场定位。B端(Business-to-B...

2023-11-07 16:02:15查看全文 >>

网上有人说gc什么意思(鉴别GC是什么意思)

网上有人说gc什么意思(鉴别GC是什么意思)

老板,你家这个绿标瑰夏是G1还是G2的豆子?Emmmmm...有没有可能,它都不是...经常会有朋友们会觉得G1、G2是...

2023-11-07 16:04:31查看全文 >>

桑塔纳3000暖风水箱拆装步骤(桑塔纳3000暖风水箱拆卸过程)

桑塔纳3000暖风水箱拆装步骤(桑塔纳3000暖风水箱拆卸过程)

质信车服,保障品质,坚守诚信。前几天有一辆郑州日产的NP300,就是那种把后车斗全部蓬起来的多功能皮卡,车主反应最近经常...

2023-11-07 16:33:49查看全文 >>

种树郭橐驼传名句翻译(种树郭橐驼传翻译和知识点)

种树郭橐驼传名句翻译(种树郭橐驼传翻译和知识点)

原文郭橐驼,不知始何名。病偻,隆然伏行,有类橐驼者,故乡人号之“驼”。驼闻之,曰:“甚善。名我固当。”因舍其名,亦自谓橐...

2023-11-07 16:14:58查看全文 >>

种树郭橐驼传文学常识延伸(种树郭橐驼传全文结构)

种树郭橐驼传文学常识延伸(种树郭橐驼传全文结构)

本期转载老同事陈明洁老师的文章,原文刊载于《语文月刊》2022年第10期。摘 要柳宗元散文《种树郭橐驼传》,自清初吴楚材...

2023-11-07 16:31:41查看全文 >>

网络上的gc是什么意思(gc是什么意思网络语言)

网络上的gc是什么意思(gc是什么意思网络语言)

现在的互联网缩写趋势真的越来越迷了就像是一种毫无逻辑的摩斯密码甭管有没有人懂缩就完事了什么yyds,yygq,gc,wd...

2023-11-07 16:12:07查看全文 >>

gc是啥(网上的gc什么意思)

gc是啥(网上的gc什么意思)

色谱法概述色谱法(chromatography):以试样组分在固定相和流动相间的溶解、吸附、分配、离子交换或其他亲和作用...

2023-11-07 16:33:23查看全文 >>

TGC什么意思(tgc是什么游戏工作室)

TGC什么意思(tgc是什么游戏工作室)

什么是嘉年华?什么是游戏嘉年华?什么是腾讯游戏嘉年华?它就是TGC!其实TGC一开始并不是叫这一个名字,而是"T...

2023-11-07 16:22:15查看全文 >>

gc含义(gc怎么解释)

gc含义(gc怎么解释)

在阅读此文之前,辛苦您点击一下“关注”,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的分享。以协调为主轴:...

2023-11-07 16:30:33查看全文 >>

魅族手机开机启动不了是什么原因(魅族手机开机启动不起来怎么回事)

魅族手机开机启动不了是什么原因(魅族手机开机启动不起来怎么回事)

今天修了一台魅族15手机,故障相当多。无法充电、无法开机,也无法录音。但即使是专业的魅族维修点也能瞬间解决问题。这台手机...

2023-11-07 15:52:13查看全文 >>

文档排行