Java JProfiler:查找内存泄漏引用名称

Java JProfiler:查找内存泄漏引用名称,java,profiling,jprofiler,Java,Profiling,Jprofiler,我正在尝试将JProfiler用于在tomcat服务器下运行的一个应用程序 因此,我编写了一个内存泄漏servlet,如下所示 @SuppressWarnings(value = { "" }) public class Dust extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,

我正在尝试将JProfiler用于在tomcat服务器下运行的一个应用程序

因此,我编写了一个内存泄漏servlet,如下所示

@SuppressWarnings(value = { "" })
public class Dust extends HttpServlet {
protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    String str = new String();
    List myarrylist = new ArrayList();
    int i = 10;
        while (true) {
    myarrylist.add(str);
    System.out.println(i);
        i++;
    }
}
}
现在,当我使用本地运行的profileweb应用程序在这个应用程序上运行JProfiler时。 它给了我这种观点。请看这里的屏幕截图

我有以下问题:

  • 它显示正在创建的字符串对象的数量。 (但我们如何知道在哪个类/servlet中,以及哪个字符串实际负责创建对象,因为在一个应用程序中可能有许多字符串。)

  • 为什么启动按钮(我用Highlite标记)被禁用

  • 点击开始按钮(请看图片)启动JProfiler就足够了吗?我们不也需要启动Tomcat服务器吗


  • 请帮忙。多谢各位

    你必须使用堆遍历器来实现这一点。动态内存视图无法显示有关引用的任何信息,因为必须创建快照


    有关如何使用JProfiler查找内存泄漏的更多信息,请参阅。

    任何人都可以帮助我。非常感谢您的链接。这很有帮助。