业务线程一直在等待,或者一直在运行,如果不是自己想要的状态,就表明有问题
死锁问题检测
上面程序之所以会死锁,因为下图所示,在-128~127范围内,Integer valueOf后对相同的int值会返回相同的对象,故这也是可以用==比较相等的原因,超过此范围,必须用equals比较值相等
jconsole更容易清晰展示死锁
把内存溢出dump出来,用工具分析分析
栈内存溢出
此也是栈溢出,当上上图是线程太多,上图是一个线程,但深度太深(如递归)
直接内存溢出,即不归jvm管理了,属于java调用本地方法如c++