15.1、前文回顾
在之前的文章中,我们已经详细梳理了JVM的核心运行原理,相信大家现在对以下几个方面有了更深入的了解:
- 对象的分配过程:对象是如何在新生代进行分配的,以及何时会触发Minor GC。
- 内存检查:在触发Minor GC之前,如何检查老年代可用内存大小和新生代对象大小,以及历次Minor GC之后升入老年代的平均对象大小。
- 触发机制:在什么情况下,Minor GC之前会提前触发Full GC,以及何时会直接触发Minor GC。
- 对象晋升:在Minor GC之后,有哪几种情况会导致对象进入老年代。
- 垃圾回收概念:大家也对垃圾回收器、垃病回收线程、垃圾回收算法之间的关系有了初步了解,包括垃圾回收过程中的“Stop the World”现象及其对系统性能的影响。
接下来,我们将深入研究常见的新生代和老年代垃圾回收器的运行原理,并探讨常见的垃圾回收参数设置方法。同时,结合案例,我们将研究在上线新系统时,如何通过预估手段和方法提前对系统的垃圾回收参数进行合理设置,以提高系统性能。
15.2、新生代垃圾回收的首选:ParNew
在过往的多年里,如果没有最新的G1垃圾回收器,通常在