如何分析Java虚拟机死锁

如何分析Java虚拟机死锁到目前为止,我认为分析Java代码问题的最有效的工具仍然是java thread dump,原因是: 1.任何操作系统平台下都可以使用。 2.在多数情况下,可以在生产环境中使

如何分析Java虚拟机死锁 到目前为止,我认为分析Java代码问题的最有效的工具仍然是javathread dump,原因 是: 1.任何操作系统平台下都可以使用。 2.在多数情况下,可以在生产环境中使用。 3.和操作系统提供的工具相比,javathreaddump给出的信息是直白的,直接 对应到应用 代码。 4.它对被分析的系统干扰很小,因此能反应真实的问题。而其它很多 profiling或 Instrument工具本身对JVM运行有很大的干扰,经常不能暴露出真正的问题, 而且这 这种工具不能用于生产系统。 我觉得在通常情况下分析Java虚拟机死锁比分析内存泄漏要容易的多。因为 死锁发生时, JVM通常处于挂起状态(hang住了),threaddump可以给出静态稳定的信息, 查找死锁只需要查找有问题的线程。而内存泄漏的问题却很难界定,一个运行 的JVM里有无 数对象存在,只有写程序的人才知道哪些对象是垃圾,而哪些不是,而且对象 的引用关系非 常复杂, ,很难得到一份清晰的对象引用图。

腾讯文库如何分析Java虚拟机死锁