一、简介 开发过程中,有时候应用程序进程会挂掉或运行缓慢,但要确定其根本原因比较困难。线程转储日志 提供了当前 Java 进程**的细节快照**。但是,转储生成的日志文件很大。因此,我们需要有一定的分析技巧,以便从大量的线程转储信息中发现问题。 在本文中,我们将看到如何过滤掉无用数据以有效诊断性能问题。此外,我们将学习如何检测性能瓶颈甚至是简单的错误。 2. JVM 中的线程 JVM 使用线程来执行每个内外部操作。另外,垃圾收集进程有自己的线程,并且 Java 应用程序内部的任务也会创建自己的线程。 在其生命周期中,Java 线程会经历各种状态。每个线程都有一个跟踪当前操作的执行堆栈。此外,J...