标签:会同 current span 等价 原理 full gc collect parallel 分代
针对HotSpot VM的实现,它里面的GC其实准确分类只有两大种:
Major GC通常是跟full GC是等价的,收集整个GC堆。但因为HotSpot VM发展了这么多年,外界对各种名词的解读已经完全混乱了,当有人说“major GC”的时候一定要问清楚他想要指的是上面的full GC还是old gen。
最简单的分代式GC策略,按HotSpot VM的serial GC的实现来看,触发条件是:
HotSpot VM里其它非并发GC的触发条件复杂一些,不过大致的原理与上面说的其实一样。 当然也总有例外。Parallel Scavenge(-XX:+UseParallelGC)框架下,默认是在要触发full GC前先执行一次young GC,并且两次GC之间能让应用程序稍微运行一小下,以期降低full GC的暂停时间(因为young GC会尽量清理了young gen的死对象,减少了full GC的工作量)。这是HotSpot VM里的奇葩嗯。 并发GC的触发条件就不太一样。以CMS GC为例,它主要是定时去检查old gen的使用量,当使用量超过了触发比例就会启动一次CMS GC,对old gen做并发收集。
gc之四--Minor GC、Major GC和Full GC之间的区别
标签:会同 current span 等价 原理 full gc collect parallel 分代
原文地址:http://www.cnblogs.com/duanxz/p/6091513.html