java如何查找处理内存泄漏

走着路睡觉
  • java
小于 1 分钟

查找内存泄漏

使用的分析工具:JProfiler(其它带图形界面的分析工具也可以)

主要分为以下几步:

  1. 启动程序,等所有的初始化操作完成,程序处于idle状态时

  2. 多次运行怀疑产生内存泄漏的操作,以完成与缓存、数据库相关的初始化

  3. 运行GC获取内存快照

  4. 再次运行该操作。根据操作的复杂性和处理的数据大小,操作可能需要运行多次。

  5. 运行GC获取内存快照

  6. 分析比较第3步和第5步中生成的内存快照的不同

基本上,应该从最大的对象开始分析,找到这些对象留在内存中的原因

如果应用是多线程的,分析可能会比较复杂,但上述流程基本适用

上次编辑于:
贡献者: zhaojingbo
Loading...