天天看点

【跨代引用】

【跨代引用】

跨代引用举例:假如要现在进行一次只局限于新生代区域内的收集(Minor GC),但新生代中的对象是完全有可 能被老年代所引用的,为了找出该区域中的存活对象,不得不在固定的GC Roots之外,再额外遍历整个老年代中 所有对象来确保可达性分析结果的正确性,反过来也是一样。 并不只是新生代、老年代之间才有跨代引用的问题,所有涉及部分区域收集(Partial GC)行为的垃圾收集器,典 型的如G1、ZGC和Shenandoah收集器,都会面临相同的问题,JVM 为了用尽量少的资源消耗解决跨代引用下的垃圾回收问题,引入了记忆集。