初认Jconsole

来源:互联网 发布:照片排版软件下载 编辑:程序博客网 时间:2024/05/03 22:14

今天见到一个非常棒的小工具。

Jconsole


工具在JDK的bin中


先上段程序死循环掉的代码。

package thread;import java.util.HashMap;public class TestLock {  private final HashMap map = new HashMap();  public TestLock() {    final Thread t1 = new Thread() {      @Override      public void run() {        for(int i=0; i<500000; i++) {          map.put(new Integer(i), i);        }        System.out.println("t1 over");      }    };    final Thread t2 = new Thread() {      @Override      public void run() {        for(int i=0; i<500000; i++) {          map.put(new Integer(i), i);        }        System.out.println("t2 over");      }    };    t1.start();    t2.start();  }   public static void main(final String[] args) {    new TestLock();  }}


运行这个程序后,然后运行Jconsole





连接到这个线程上(也就是刚刚那个程序)





单击线程后。找到我们程序的那个线程






然后就看到程序挂到HashMap里的transfer方法中了。

可以看到这对检测程序挂到哪里实在太方便了。。


具体挂的原因有些复杂还没有弄懂。感兴趣的同学自己研究一下吧。


刚接触Jconsole,很多功能都还不是太懂,以后再慢慢研究吧。

最近还是要多忙忙算法了。。。

------------------------------------------------------------

PS:HashMap是线程非安全的

0 0