什么是GC,GC是什么意思为什么要有GC


为什么要有GC 首先JAVA和ASPNET都有GC 垃圾回收 (garbage collection, GC) 一个跟踪过程,它传递性地跟踪指向当前使用的对象的所有指针,以便找到可以引用的所有对象,然后重新使用在此跟踪过程中未找到的任何堆内存。公共语言运行库垃圾回收器还压缩使用中的内存,以缩小堆所需要的工作空间 因为你没有足够多内存,并且,你挺懒,不去自己清理内存,所以就有了 GC 什么是GC GC的全称是garbage collection,中文名称垃圾回收,是net中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。 在进行垃圾回收时,垃圾回收器回首先搜索内存中的托管对象,然后从托管代码中搜索被引用的对象并标记为有效,接着释放没有被标记为有效的对象并收回内存,最后整理内存将有效对象挪动到一起。这就是GC的四个步骤。 由上可见,GC是很影响性能的,所以一般说来这种事情况还是尽量少发生为好。 为了减少一些性能影响,net的GC支持对象老化,或者说分代的概念,代是对象在内存中相对存现时期的度量单位,对象的代数或存现时期说明对象所属的代。目前net的垃圾回收器支持三代。每进行一次GC,没有被回收的对象就自动提升一代。较近创建的对象属于较新的代,比在应用程序生命周期中较早创建的对象的代数低。最近代中的对象位于零代中。

gc属于网络用语,是高潮的意思,是指涨潮时达到的最高水位。常用引申为人的生理愉悦的顶点,也常用来形容小说、戏剧、**情节中矛盾发展的顶点,另有一些同名的名人和地名。

"网络用语",即多在网络上流行的非正式语言。多为谐音、错别字改成,也有象形字词,以及在论坛上引起流行的经典语录。这些语言先于网上流行起来,然后融入到我们的日常生活中。多为搞笑、讽刺、赞美、以及恶搞之词或句子。

general consel(全职、首席法律顾问)

事务咨询(就企业谈判提供法律意见、起草谈判术、健全企业管理制度等)

针对企业经营特点,为企业制定适合其发展的法律策略

解决纠纷

GC有多层含义,使用环境比较多,基本是拼音的首字母所写,有:观察、滚操、高潮、公厕。

一是计算机术语,指GabageCollection;二是网络用语,踩空间,灌水的时候广东白话里“支持”的意思;三是网络域中的GC,就是“全局目录”GlobalCatalog;四是科研用语,即GasChromatography(气相色谱法);五是ML特定用语,即“高----潮”。

常用的GC算法:

1)标记非活动对象

--何为非活动对象,通俗的讲,就是无引用的对象。

追踪root对象算法: 深度追踪root对象,将heap中所有被引用到的root做标志,所有未被标志的对象视为非活动对象,所占用的空间视为非活动内存。

2)清理非活动对象

Copy算法:

方法:将内存分为两个区域(from space和to space)。所有的对象分配内存都分配到from space。在清理非活动对象阶段,把所有标志为活动的对象,copy到to space,之后清楚from space空间。然后互换from sapce和to space的身份。既原先的from space变成to sapce,原先的to space变成from space。每次清理,重复上述过程。

优点:copy算法不理会非活动对象,copy数量仅仅取决为活动对象的数量。并且在copy的同时,整理了heap空间,即,to space的空间使用始终是连续的,内存使用效率得到提高。

缺点:划分from space和to space,内存的使用率是1/2。

Compaction算法:

方法:在清理非活动对象阶段,删除非活动对象占用内存,并且把活动对象向heap的底部移动,直到所有的活动对象被移到heap的一侧。

优点:无须划分from sapce和to space,提高内存的使用率。并且compaction后的内存空间也是连续分配的。

缺点:该算法相对比较复杂。

sun jdk gc介绍:

在减少gc之前,先来看看来自IBM的一组统计数据:

98%的java对象,在创建之后不久就变成了非活动对象;只有2%的对象,会在长时间一直处于活动状态。

如果能对这两种对象区分对象,那么会提交GC的效率。在sun jdk gc中(具体的说,是在jdk14之后的版本),提出了不同生命周期的GC策略。

young generation:

生命周期很短的对象,归为young generation。由于生命周期很短,这部分对象在gc的时候,很大部分的对象已经成为非活动对象。因此针对young generation的对象,采用copy算法,只需要将少量的存活下来的对象copy到to space。存活的对象数量越少,那么copy算法的效率越高。

young generation的gc称为minor gc。经过数次minor gc,依旧存活的对象,将被移出young generation,移到tenured generation(下面将会介绍)

young generation分为:

eden:每当对象创建的时候,总是被分配在这个区域

survivor1:copy算法中的from space

survivor2:copy算法中的to sapce (备注:其中survivor1和survivor2的身份在每次minor gc后被互换)

minor gc的时候,会把eden+survivor1(2)的对象copy到survivor2(1)去。

tenured generation:

生命周期较常的对象,归入到tenured generation。一般是经过多次minor gc,还 依旧存活的对象,将移入到tenured generation。(当然,在minor gc中如果存活的对象的超过survivor的容量,放不下的对象会直接移入到tenured generation)

tenured generation的gc称为major gc,就是通常说的full gc。

采用compactiion算法。由于tenured generaion区域比较大,而且通常对象生命周期都比较常,compaction需要一定时间。所以这部分的gc时间比较长。

minor gc可能引发full gc。当eden+from space的空间大于tenured generation区的剩余空间时,会引发full gc。这是悲观算法,要确保eden+from space的对象如果都存活,必须有足够的tenured generation空间存放这些对象。

Permanet Generation:

该区域比较稳定,主要用于存放classloader信息,比如类信息和method信息。

对于spring hibernate这些需要动态类型支持的框架,这个区域需要足够的空间。

这部分内容相对比较理论,可以结合jstat,jmap等命令(当然也可以使用jconsole,jprofile,gciewer等工具),观察jdk gc的情

(

GC为意大利皮鞋知名牌品标志。

Gino Castel(吉诺·卡斯特),简称“GC”,是源自意大利的时尚休闲皮鞋品牌。吉诺·卡斯特一向以做工精致著称,运用意大利纯手工技艺,专门研发和制造全真皮时尚休闲鞋和商务鞋,品牌以独特的设计理念,一直为西欧和迪拜的政企单位、时尚达人和商务精英提供定制服务。

扩展资料:

注意事项:

1、鞋底

皮鞋底有皮质和胶质两大类。质量好的皮质鞋底,表面光亮平滑,颜色均匀一致,没有油斑、污点和伤痕,厚薄均匀;用手指弹,声响清脆,手模感觉很坚实。这种鞋底柔韧丰满,抗张强度大,耐磨性强。质量好的胶质鞋底,表面光滑一致,花纹整齐,每个花纹边角应鲜明完整。

从侧面看,切面均匀细致无杂质,无大小颗粒组织,无厚薄不均现象;用手摸,应有较好的韧性和弹性感觉。若是胶粘皮鞋,要检查底边帮底粘合是否严密、平整,不能有空隙、遗胶现象。轻巧的合成树脂底个人感觉最好,又轻又耐磨。

2、大小

挑选皮鞋以舒适为原则。一般讲,宽窄以脚面受力时能够完全展开为好;长短以脚尖不夹不顶,行走时脚不在鞋内滑动为好。另外,购买皮鞋的时间也有讲究。人在下午因脚部略有肿胀,此时所购皮鞋大小合适;若在上午试鞋,则应留出空余量,不致穿得时间长了挤脚。

参考资料来源:百度百科——GC

gc是指垃圾回收机制,当一个对象不能再被后续程序所引用到时,这个对象所占用的内存空间就没有存在的意义了,java虚拟机会不定时的去检测内存中这样的对象,然后回收这块内存空间。

GC的基本原理:

对于程序员来说,用new关键字即在堆中分配了内存,我们称之为“可达”。对于GC来说,只要所有被引用的对象为null时,我们称之为“不可达”,就将进行内存的回收。

当一个对象被创建时,GC开始监控这个对象的大小、内存地址及使用情况。GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式可以明确哪些对象是可达的,哪些不是。当确定为不可达时,则对其进行回收。

保证GC在不同平台的实现问题,java规范对其很多行为没有进行严格的规定。对于采用什么算法,什么时候进行回收等。

以上就是关于什么是GC,GC是什么意思为什么要有GC全部的内容,包括:什么是GC,GC是什么意思为什么要有GC、gc是什么梗、法律顾问GC的全称是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

转载请注明原文地址:https://juke.outofmemory.cn/read/3685202.html

最新回复(0)