调优结果
优化程序
通过在线分析和采样分析大致定位到内存泄露的点后,就需要根据功能提供的类、实例以及引用链信息查看具体的业务代码,然后根据情况具体分析代码修改策略。
如本案例中的程序,如果把它看成是一个保存缓存数据的场景,我们就可以加入定期清除的策略。
图1 优化后代码
优化后的程序通过概览页即可发现堆内存存在明显释放且GC活动正常。
图2 优化后程序
总结
对Java程序进行了内存泄漏的发现与解决,通过在线分析和采样分析发现了程序中的内存泄漏点,进而优化程序中的内存泄漏点达到优化程序性能的目的。
在进行其他程序调优时,需要根据鲲鹏DevKit Java性能分析工具的实际结果和对应的优化建议进行调优操作。具体的调优思路可以参考本实践。
父主题: 实践1:内存泄漏调优实践