是否可以在不进入代码的情况下检查内存泄漏。我有应用程序,我想检查是否有内存泄漏。
在我目前的组织中,我检查运行应用程序之前和之后的 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/