本文主要是介绍12、揭秘大厂面试秘籍:掌握年轻代与老年代的垃圾回收策略!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
12.1、前文回顾
在上一篇文章中,我们已经详细解释了新生代的垃圾回收算法,以及与这个算法相配合的新生代内存区域的划分。大家应该已经明白了为什么我们需要一个Eden区域和两个Survivor区域。
接下来,本文将向大家介绍,在何种情况下,新生代中的对象会进入老年代。
首先,让我们通过下面的图示来理解这个过程。当我们编写的代码在运行过程中,会不断创建各种对象,这些对象会优先被放置在新生代的Eden区和Survivor1区。
接着假如新生代的Eden区和Survivor1区都快满了,此时就会触发Minor GC,把存活对象转移到Survivor2区去。如下图所示:
然后接着就会使用Eden区和Survivor2区,来分配新的对象,如下图所示。
在上篇文章中,我们已经详细讨论了这个过程。因此,在这篇文章中,我们将依次探讨在不同情况下,对象是如何被分配到老年代的,以及老年代的垃圾回收算法是如何工作的。
12.2、躲过15次GC之后进入老年代
在系统启动之初,
这篇关于12、揭秘大厂面试秘籍:掌握年轻代与老年代的垃圾回收策略!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!