【发布时间】:2011-10-08 15:52:23
【问题描述】:
我正在考虑对 Java 程序进行自动内存泄漏检测。基本算法是创建包含以下逻辑的 JUnit:
Call System.gc() several times
Determine initial heap memory consumption using either Runtime class or JMX
Loop
Do something that exercises program under test
End loop
Call System.gc() several times
Determine final heap memory consumption
Compare initial and final memory numbers
循环用于查看内存是否以小幅度递增。
有必要区分内存使用的预期和意外增加。
这不是真正的单元测试。但是JUnit框架使用起来很方便。
您认为这种方法有效吗? 您认为这种方法会成功识别内存泄漏吗? 你做过这样的事吗?
【问题讨论】:
-
我曾经也想过这样的测试,但找不到好的解决方案..希望有人能来这里。
标签: java unit-testing testing memory-leaks junit