方便查看線程情況的jsp頁面

此方法來自深刻理解java虛擬機一書,用做管理員頁面,能夠隨時用瀏覽器查看線程堆棧html

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
    <title>服務器線程信息</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
    <pre>
        <%
            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;
                }
                out.print("\n線程:"+thread.getName()+"\n");
                for(StackTraceElement element : stack){
                    out.print("\t"+element+"\n");
                }
            }
         %>
    </pre>
  </body>
</html>
相關文章
相關標籤/搜索