写在前面: 线程堆栈应该是多线程类应用程序非功能问题定位的最有效手段,可以说是杀手锏。线程堆栈最擅长与分析如下类型问题:系统无缘无故CPU过高。系统挂起,无响应。系统运行越来越慢。性能瓶颈(如无法充分利用CPU等)线程死锁、死循环,饿死等。
写在前面: 线程堆栈应该是多线程类应用程序非功能问题定位的最有效手段,可以说是杀手锏。线程堆栈最擅长与分析如下类型问题:
系统无缘无故CPU过高。
系统挂起,无响应。
系统运行越来越慢。
性能瓶颈(如无法充分利用CPU等)
线程死锁、死循环,饿死等。
由于线程数量太多导致系统失败(如无法创建线程等)。
如何解读线程堆栈
如下面一段Java源代码程序:
package org.ccGogoing.study.stacktrace;public class MyTest { Object obj1 = new Object(); Object obj2 = new Object(); public void fun1() { synchronized (obj1) { fun2(); } } public void fun2() { synchronized (obj2) { while (true) { //为了打印堆栈,该函数堆栈分析不退出 System.out.print(""); } } } public static void main(String[] args) { MyTest aa = new MyTest(); aa.fun1(); } }
--结束END--
本文标题: 详解Java线程堆栈
本文链接: https://lsjlt.com/news/220041.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0