【问题标题】:JProfiler : Finding the Memory leak reference nameJProfiler:查找内存泄漏引用名称
【发布时间】:2011-10-22 22:20:02
【问题描述】:

我正在尝试将 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++;
    }
}
}

现在,当我使用本地运行的 Profile Web 应用程序在此应用程序上运行 JProfiler 时。 它给了我这样的看法。请在此处查看屏幕截图

http://tinypic.com/view.php?pic=2r5c2nq&s=7

我有这些问题:

  1. 显示正在创建的字符串对象的数量。 (但是我们怎么知道在哪个类/servlet 中以及究竟是哪个字符串实际负责创建对象,因为我们在一个应用程序中可能有很多字符串。)??

  2. 为什么开始按钮(我突出显示的)被禁用了??

  3. 点击启动按钮启动 JProfiler 就足够了(请看那张图片),我们不需要启动 Tomcat 服务器吗??

请帮忙。谢谢你 。

【问题讨论】:

  • 谁能帮帮我。

标签: java profiling jprofiler


【解决方案1】:

为此,您必须使用堆遍历器。动态内存视图无法显示任何有关引用的信息,因为必须创建快照。

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

【讨论】:

  • 非常感谢您提供的链接。这很有帮助。
猜你喜欢
  • 2012-03-13
  • 1970-01-01
  • 2012-04-04
  • 2017-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多