GC是什么意思
常用的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中(具体的说,是在jdk1.4之后的版本),提出了不同生命周期的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是什么意思
本文链接:https://www.u1e.cn/baike/a/4d993e69990d0bf8be660455 [复制]
猜你喜欢
人总要找点事情做,让自己忙起来,忙起来才知道生活不易,才明白平时的忧伤都是矫情。
等一阵风,等一阵雨,等一个唯一的你。
你们给我挺住,都别吃,都那么肥了怎么还有脸吃。
如果不醒来,那么现实和梦境又有何分别。
天塌下来你顶着,我垫着!
最美的不是下雨天,是陪你一起躲过的屋檐。
南音少女
如果坚强的人落泪了,一定是撑不下去了。
您是一棵大树,春天倚着您幻想,夏天倚着你繁茂,秋天倚着您成熟,冬天倚着您沉思。亲爱的妈妈,感谢给予我的一切。
暗恋你,追你,我的本子满满写着你的名字。
得意时处之泰然,失意时处之淡然,才是人生的大智慧。
不必因昨天的眼泪、湿了今天的太阳。
你自由了,可不可以把我的快乐还我。
疾病是手段,健康是目的;疾病是道路,健康是目标。
恋爱不是谈的,是坠入的。有一天,在没有察觉到的时候,头朝下坠下去。早安!
无论平静还是灿烂,我都喜欢。
恍忽间明白:春光明媚的春天之所以如此的美,是因为它让人的心情在此刻绽放。
别总拿自己的饱经风霜的脸说事,美的不突出,丑的不别致。
明白的人懂得放弃,真情的人懂得牺牲,幸福的人懂得超脱。
新年到,愿亲爱的母亲生活甜甜蜜蜜,心情快快乐乐,身体健健康康,一生平平安安,幸福时刻围绕,好运永远陪伴,儿女的心永远牵挂着你。
歇后语大全
嘴巴上挂笼嘴是什么意思?
走上步看下步是什么意思?
曾老九的弟弟是什么意思?
贼被狗咬是什么意思?
一个半斤,一个八两是什么意思?
一锛两斧头是什么意思?
羊毛里找跳蚤是什么意思?
下雨天打麦子是什么意思?
瞎猫抓住死老鼠是什么意思?
蜗牛爬上葡萄架是什么意思?
尾巴上绑芦花是什么意思?
娃娃爬楼梯是什么意思?
娃娃逗妹妹是什么意思?
托着扁担过马路是什么意思?
兔子跑到磨坊里是什么意思?
头长疔疮,脚烂趾头是什么意思?
抬着食盒爬上树是什么意思?
孙悟空进了八卦炉是什么意思?
说书的刹板是什么意思?
水壶里翻跟头是什么意思?
歪脖子树上结歪梨是什么意思?
石狮子的眼睛是什么意思?
生米煮成了熟饭是什么意思?
烧饼铺里的耗子是什么意思?
蛆虫变苍蝇是什么意思?
穷债户过年是什么意思?
棋盘边上的卒子是什么意思?
牛毛上解锯是什么意思?
母猪耳朵是什么意思?
灭火踢倒油罐子是什么意思?
门缝里瞧人是什么意思?
开水碗上的葱花是什么意思?
九曲桥上散步是什么意思?
九牛一毛是什么意思?
花眼婆婆纫针(ren zhen引线穿过针鼻儿)是什么意思?
花轿没到就放炮是什么意思?
和尚看花轿是什么意思?
锅里的鸡是什么意思?
伏天下暴雨是什么意思?
夫妻开店是什么意思?
黄毛鸭子下水是什么意思?
粪凼(d是什么意思?
飞机上挂电灯是什么意思?
饭店墙上挂蒜辫是什么意思?
二十五只老鼠咬死人是什么意思?
冬天的青蛙是什么意思?
当官丢了印是什么意思?
大江里漂浮萍是什么意思?
吃着冰棍拉家常是什么意思?
瘪芝麻榨油是什么意思?
相关推荐
还没有人回应过