我在以产品为基础的公司工作。在某些模块中,我们的应用程序非常慢。因此,我们必须监视哪些 java 文件或面向数据库连接的文件正在占用内存。是否有任何工具可以识别哪些 java 文件完全在消耗这些内存?谁能帮我确定问题。提前致谢。我正在使用 IBM RSA 7.5.5 。是否有任何插件可以集成到这个 IDE 中?
问问题
71 次
2 回答
1
尝试使用 VisualVM,它是一个免费工具,可以帮助您直观地分析您的应用程序,并将其分解为每个类。它显示了新的类实例、不同的内存段使用(堆空间、永久空间等)以及标记垃圾收集操作。Java 不允许您像 C 那样手动“释放”对象,但是,一旦对象离开作用域,它最终会在垃圾收集器运行时被垃圾收集。
如果您发现最终会出现大量实例,而您并不期望它们会出现,那么您可能在管理范围时遇到问题,或者您可能会留下对您的对象的引用否则会期望是瞬态的。当没有对对象的引用和/或该对象超出范围时,就会发生垃圾收集。
于 2012-07-24T14:08:12.957 回答
0
Oracle 故障排除页面包括有关分析内存使用情况和查找内存泄漏的大部分内容:
这是关于这个主题的一个很好的SO问题:
于 2012-07-24T14:06:41.607 回答