上一章向我们介绍了如何通过了解性能问题的症状来调整应用程序的性能。我们浏览了性能调整生命周期,了解在应用程序性能的哪些阶段可以调整以及如何调整。我们还学习了如何将 JMX 连接到 Spring 应用程序,观察应用程序的瓶颈并对其进行调整。
在本章中,我们将深入了解 Java 虚拟机 (JVM) 并调整 JVM 以实现高性能。 JVM 执行两项主要工作——执行代码和管理内存。 JVM 从 OS 分配内存,设法进行堆压缩,并执行 unreferenced 对象的 垃圾收集 (GC)。 GC 很重要,因为适当的 GC 可以提高应用程序的内存管理和性能。
以下是我们将在本章中讨论的主题:
- Understanding JVM internals
- Understanding memory leak
- Common pitfalls
- GC
- GC methods and policies
- Tools to analyze GC logs