24.1、前文回顾
我们已经深入分析了Java虚拟机(JVM)的核心运行机制,以及垃圾回收器(GC)的工作原理。我们还通过实际案例,探讨了在何种情况下JVM可能会遇到垃圾回收问题,以及当我们谈论优化JVM时,我们实际上是在优化哪些部分。我相信,大家已经对JVM有了更深入的理解,并掌握了相关知识。
接下来我们将对JVM 垃圾回收器的相关内容进行总结,梳理一些关键术语的确切含义,为后面的内容做好铺垫。
24.2、揭开JVM运行内幕:它竟然最怕这件事
首先,我们来梳理一下基于Java开发的系统在部署和运行过程中的关键考虑因素。当我们的系统基于JVM(Java虚拟机)启动并运行时,最需要关注的是什么呢?
通过之前的学习,我们应该都能理解一个核心概念,那就是在JVM运行过程中,最关键的内存区域是堆内存(Heap Memory)。在堆内存中,我们会存储各种由系统中创建的对象。
而且,在堆内存中,通常会划分为两个主要的区域:新生代(Young Generation)和老年代(Old Generation)。在对象的生命周期管理中,一般来说,新创建的对象会优先被分配到新生代中。如下图所示。
随着系统的持续运行,年轻代中的对象数量会不断增加,直至接近内存容量的极限。在这种情况下,