JAVA查看线程信息

在JDK1.5中,java.lang.Thread类新增了一个getAllStackTraces()方法用于获取虚拟机中所有线程的StackTraceElement对象。

        for(Map.Entry<Thread, StackTraceElement[]> stackTrace : Thread.getAllStackTraces().entrySet()){
            Thread thread = (Thread)stackTrace.getKey();
            StackTraceElement[] stack = (StackTraceElement[])stackTrace.getValue();
            if(thread.equals(Thread.currentThread())){
                continue;
            }
            System.out.print("\n线程:"+thread.getName()+"\n");
            for(StackTraceElement element: stack){
                System.out.print("\t"+element+"\n");
            }
        }
时间: 2024-10-27 13:13:48

JAVA查看线程信息的相关文章

java查看数据库信息和对应表的信息

public class DataBaseMessage { public static void main(String[] args) { getMessage(); } public static void getMessage(){ Connection connection = null; ResultSet rs = null; try { connection = 获取connection; DatabaseMetaData dbMetaData  = connection.get

Java并发学习之二——获取和设置线程信息

本文是学习网络上的文章时的总结,感谢大家无私的分享. Thread类的对象中保存了一些属性信息能够帮助我们辨别每一个线程,知道它的一些信息 ID:每个线程的独特标示: Name:线程的名称: Priority:线程对象的优先级.优先级别在1-10之间,1是最低级,10是最高级. Status:线程状态.在java中,线程只有6种状态:new,runnable,blocked,waiting,time waiting 或terminated. 现在写一个程序,将线程的信息保存到文件中方便查看 pa

学习java线程状态和看懂thread dump文件中的线程信息

线程的状态是一个很重要的东西,因此thread dump中会显示这些状态,通过对这些状态的分析,能够得出线程的运行状况,进而发现可能存在的问题.线程的状态在Thread.State这个枚举类型中定义: public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread. A thread in the runn

Java Swing 之查看图标信息

/** *查看图标的信息 *@author gao */ package com.gao; import java.awt.FlowLayout; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; public class ImageInfoDemo

java查看windows的磁盘空间大小信息

原文:java查看windows的磁盘空间大小信息 代码下载地址:http://www.zuidaima.com/share/1550463266294784.htm 可以通过java的File对象得到磁盘的总空间大小,剩余空间大小,以及已用空间大小. package com.zuidaima.util.file; import java.io.File; public class FreeDiskSpace { public static void main(String[] args) {

Java多线程(1)--创建和线程信息获取

通过创建实现Runnable接口的类.使用带参数的Thread构造器来创建Thread对象.这个参数就是实现Runnable接口的类的一个对象. 创建10个线程,每个线程打印乘以1-10的结果. package com.concurrency; public class Calcalator implements Runnable{ private int number; public Calcalator(int number) { this.number = number; } @Overr

使用FileSystem类进行文件读写及查看文件信息

使用FileSystem类进行文件读写及查看文件信息 在这一节我们要深入了解Hadoop的FileSystem类--这是与与hadoop的文件系统交互的重要接口.虽然我们只是着重于HDFS的实现,但我们在编码时一般也要注意代码在FileSystem不同子类文件系统之间的可移植性.这是非常有用的,比如说你可以非常方便的直接用同样的代码在你的本地文件系统上进行测试. 使用hadoop URL读数据 从hadoop文件系统中读取文件的最简单的方法之一便是使用java.net.URL对象来打开一个欲从中

jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令.供大家参考 1.Jstack 1.1   jstack能得到运行java程序的java stack和native stack的信息.可以轻松得知当前线程的运行情况.如下图所示 注:这个和thread dump是同样的结果.但是thread dump是用kill -3 pid命令,还是服务器上面少用kill为妙 1.2   命名行格式

使用自动化shell脚本查找CPU使用的详细线程信息

项目加了些拦截器代码后,CPU报警,显示CPU使用率超过100%: 想要查找到底是哪些代码消耗的资源过多,从网上找到一篇博文,转载如下: http://blog.csdn.net/guixunlong/article/details/8450897 在知道哪个Java进程CPU占用率过高以后: 1.使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈,例如jstack 12012 > 12012.txt 2.使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高