Java 内存分析工具(像 Yourkit Java Profiler 这样的分析器)和 Java 内存泄漏检测工具之间有什么区别吗? (根据我的搜索,很难注意到所关注的工具之间的差异,但对我来说这听起来像是方法方式上的差异)。 如果有,是否有任何免费(可供下载)的内存泄漏检测工具(不是内存分析)?提前致谢!
最佳答案
严格来说,Java 中不存在 C/C++ 意义上的内存泄漏:没有更多引用的内存分配。
所以当术语“泄漏”在java上下文中使用时,有时它只是表示一个大的内存结构。一些工具称它们为“泄漏嫌疑犯”,因为它们无法判断内存结构是否由于问题的性质或错误而很大。
有时“泄漏”在动态意义上使用:一种随时间增长的内存结构。
因此,首先,您需要一个内存工具,它可以让您对 Java 堆转储快照中的内存分布和 referer 结构进行定量概览。有了它,您就可以通过比较两个或多个快照来研究动态行为。
如果这些工具提供额外的“Leak-Feature”(JProbe 的 Memory-Leak-Doctor、Eclipse-MATs Memory-Leak Report),则表明它们首先在呈现内存结构的真正全面 View 方面存在问题。
如果您正在寻找免费下载,请查看
在
关于java - Java内存分析工具和内存泄漏检测工具有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108860/