eclipse怎么跟踪内存堆栈

2025-02-25 11:44:05
推荐回答(2个)
回答1:

eclipse跟踪内存堆栈的方法是开发一个jsp页面来实时打印堆栈日志:
常用的tomcat举例:
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8"%>
<%@ page import="java.util.Set"%>
<%@ page import="java.util.Map"%>
<%@ page import="java.util.Iterator"%>
<%
if("127.0.0.1".equals(request.getRemoteHost()))
{
Map threads = Thread.getAllStackTraces();
Set keys = threads.keySet();
Iterator iter = keys.iterator();
while (iter.hasNext())
{
Thread t = (Thread)iter.next();
%>
=======================================================================
ID: <%=t.getId()%>
State: <%=t.getState()%>
<%= "\n"%>
<%
StackTraceElement[] trace = threads.get(t);
for(int i = 0 ;i < trace.length;i++)
{
%>
<%= trace[i].toString()%>
<%= "\n"%>
<%
}
}
}
%>
以上代码中:每个thread对应的StackTraceElement都会有详细的记录,并且通过循环的方法打印出来。

回答2:

1、查看一段代码或者一个方法所运行的时间 打印开始时间: 方法体执行 打印结束时间: 结束时间-开始时间就是程序消耗的时间。 2、查看代码的消耗内存 (1)windows-perferences-general-show heap status 打钩 查看内存占用情况: