java - 如何检查内存泄漏?

标签 java testing memory-leaks

是否可以在不进入代码的情况下检查内存泄漏。我有应用程序,我想检查是否有内存泄漏。

在我目前的组织中,我检查运行应用程序之前和之后的 cpu 使用情况以及应用程序进程的 cpu 使用情况。但我认为这不是正确的方法。

在这方面请多多指教。

最佳答案

如果您使用以下标志运行 Java 应用程序:

-Dcom.sun.management.jmxremote

您将能够使用 jconsole 连接到它。 jconsole 是Java 自带的工具,驻留在java 程序所在的bin 目录中。您可以运行它并观察一段时间内的内存使用情况(这不是很好,但可以帮助发现泄漏)。在最新版本的 Java(1.6 的后期版本)上,您还可以运行 jvisualvm,它与 jconsole 类似,但也会告诉您实例化了每个类的数量,这更有用。

关于java - 如何检查内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1458099/

相关文章:

java - RMI + java 反射

java - 从另一个 Java 应用程序中查找并终止特定的 Java 进程

testing - 用于记录 Action 序列的视频或幻灯片捕获工具会导致错误

c++ - OS API 在结构中分配成员。先释放结构还是先释放每个成员?

java - 内存泄漏 - 初始化另一个类的位图类型实例变量

java - JTextArea.setText(null);不释放内存

java - 无法从 double 转换为类

java - Eclipse - 默认情况下未激活 java 智能编辑器

perl - 我们如何对 Mojolicious Controller 进行单元测试?

testing - 如何使用 chrono 运行带有明确时区的 Rust 测试?