线程状态

最近在排查一个多线程的问题,dump 内存的时候,发现很多线程状态的问题。虽然线程状态已经看了很多,但是还是需要重新梳理一下。多线程问题,没有小问题,需要基础知识牢固,概念清晰,才好入手。 Java线程的六种状态以及切换 1.初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 2.运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统 … 继续阅读

jstack与线程状态

jstack jstack是java虚拟机自带的一种堆栈跟踪工具,jstack命令主要用来查看Java线程的调用堆栈的,可以用来分析线程问题(如死锁)。 jstack [-l] pid jstack dump分析当前各个线程的运行情况,如是否存在死锁、是否存在一个线程长时间持有锁不放等等。 定位 在top命令中,已经获取到了占用cpu资源较高的线程pid,将该pid转成16进制的值,在thread … 继续阅读