面试题:新的G1垃圾回收器的工作原理是怎样的?
面试题常规回答
G1回收器可以同时回收新生代和老年代的对象的,不需要使用ParNew + CMS
的组合实现新生代和老年代的垃圾回收,G1可以直接搞定。工作原理大致就是将堆内存统一划分为大小相等的多个Region区域,然后有一个预期的垃圾回收停顿时间的设置,通过这个预期值,G1会判断每个Region的回收需要耗费的时间,如果时间很短远小于预期的停顿时间,那么这个Region就很**值得回收(回收价值)**了,这个时候G1就通过这样的计算,将很多值得回收的Region直接进行快速回收,并且保证这个过程中的停顿时间小于预期的停顿时间。
面试题深入剖析
首先我们可以可以使用-XX:+UseG1GC
来指定使用G1垃圾回收器,此时G1会自动用堆