摘要: 1、执行死锁程序 2、执行 jstack -l 21733 | more 结果如下: 死锁程序: public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("start 阅读全文
posted @ 2016-08-30 16:00 成风魄郎 阅读(4338) 评论(0) 推荐(0) 编辑
摘要: 1、对于synchronized方法和synchronized块,一个线程访问时,其他线程可以访问此类的非synchronized方法或块,不能访问其他带synchronized的方法或块。 举例如下: synchronized块: public class Thread2 { public voi 阅读全文
posted @ 2016-08-30 15:55 成风魄郎 阅读(309) 评论(0) 推荐(0) 编辑
摘要: jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。 第一步先找出Java进程ID,服务器上的Jav 阅读全文
posted @ 2016-08-30 11:13 成风魄郎 阅读(54135) 评论(3) 推荐(6) 编辑