此方法來自深刻理解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>