高分请教一个有关java内存泄漏的问题。
一用java开发的snmpc监视的程序,程序运行过程中,heap使用量直线上升,一个小时候,heap溢出。
请教一下出现这个问题的原因有哪些?
------解决方案--------------------使用类似Jprofiler这样的工具,对你的应用进行实时的分析,可以看出是哪个部分占用的内存比较大。
内存爆满,有两种情况,一是程序有缺陷,二是应用的设计有缺陷。用工具观察后可以具体分析。
------解决方案--------------------一般是程序BUG, 看核心控制部分的源码吧
------解决方案--------------------首先检查一下你的代码有没有问题,如果确认没有问题的话,那就是工具的问题了
------解决方案--------------------肯定是用性能分析工具好了。
从感觉来看应该是你每次监视都产生了一个的对象。而且这些对象的生命周期与应用周期一样长。
从设计的角度看,你的监控可能很复杂,相应对象也可能很多。但是在一次监控完成后,你仅仅应该只去保存结果,而不是保存监控过程。