正如我在网上发现的,以下项目可能导致内存泄漏。例如:如何处理Java EE中的内存泄漏?
- 的ResultSet和Statement对象
- DataLists
- 集合
- 静态变量和类
- 单身
- 的HttpSession和HttpRequest的在我的JSF应用程序
托管bean大多是@ViewScoped
,所以我认为在离开视图后,GC有足够的信息来释放数据主义者,对象等等。但它并没有或不completelly:
我只是手动关闭休眠会议(最后使用),但仅此而已。我从GC期望的其他事情。
你能告诉我,
- 如何找到其具体的对象是住在内存?
- 如何在手动离开视图后释放对象?像析构函数..?
- 处理内存泄漏的最佳做法是什么?
JHat,MAT(http://www.eclipse.org/mat/)可能会有帮助。甚至,JConsole也提供了关于内存泄露的足够线索 - 或者至少是什么让你的内存占用很大。 – Nishant
谢谢你,Nishant,我会试试MAT :) – gaffcz
MAT非常帮助我,做出答案,如果你愿意,我会接受它:) – gaffcz