程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了常见的Java内存/引用泄漏模式?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决常见的Java内存/引用泄漏模式??

开发过程中遇到常见的Java内存/引用泄漏模式?的问题如何解决?下面主要结合日常开发的经验,给出你关于常见的Java内存/引用泄漏模式?的解决方法建议,希望对你解决常见的Java内存/引用泄漏模式?有所启发或帮助;

根据我的经验,两个关键的“有效泄漏”模式是:

  • 静力学和单例随着时间的推移逐渐增长。这可能包括缓存,实现不当和未使用的连接池,“自启动以来我们见过的每个用户”的字典等
  • 从寿命长的对象到 打算 是寿命短的对象的引用。在C#中,事件可能会发生,等效的观察者模式可能在Java中产生相同的效果。基本上,如果您要一个对象(观察者)观看另一个对象(源),则通常会得到 观察者的引用。最终可能是唯一的“实时”引用,但是只要有来源,它就会一直存在。
  • 如果您继续动态生成新代码,则Permgen会泄漏。我在这里处于更艰难的境地,但是我很确定自己已经遇到这种问题。这很可能部分是由于JRE错误已被修复-自从发生以来已经太久了,我无法确定。
  • 保持状态的单元测试的持续时间可能比您预期的更长,因为JUnit会保持测试用例的实例。同样,我不记得详细信息,但是有时候这样做值得在拆解中具有显式的“可变空值”,看起来不合时宜。

我不能说我经常发现内存泄漏是Java(或.NET)中的问题。

解决方法

也许最典型的例子是JDBC关闭方式错误,并且未正确处理可能的异常。我很好奇看到您看到的其他示例-最好与Web应用程序相关。

那么,Java中是否有任何常见的泄漏模式?

大佬总结

以上是大佬教程为你收集整理的常见的Java内存/引用泄漏模式?全部内容,希望文章能够帮你解决常见的Java内存/引用泄漏模式?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。