美文网首页
如何避免内存泄漏

如何避免内存泄漏

作者: hellozepp | 来源:发表于2019-08-28 20:44 被阅读0次

1 尽早释放无用的对象。
在变量退出活动区域后自动设置为null(虽然这样在JAVA里面基本是没用的,详见:
https://blog.csdn.net/qq_42945742/article/details/84107531](https://blog.csdn.net/qq_42945742/article/details/84107531
但是这是一种良好的习惯,建议变量退出活动区域后自动设置为null

2 函数递归是一定要注意函数递归调用的深度。深度过大很有可能会导致栈帧溢出

3 程序进行字符串处理时,避免使用String 而要尽量使用StringBuffer
如:String str=“a” String str2="b" String str3="c" 这样内存中一定存在三个对象,并且如果str str2不再被调用,那么他们就
会成为内存的垃圾,等待回收

4 尽量少使用静态变量:方法区中的静态变量是gc root扫描的类型之一,也就是说静态变量永远不会jvm回收。

5 尽量减少不可预测的内存对象。如在文件上传时候 经常会出现java.outofMemoryError的错误,
看代码:m_totalBytes = m_request.getContentLength();
m_binArray = new byte[m_totalBytes];
这里对新建对象的大小没有限制,如果并发较高,而文件又比较大,短时间会导致内存急剧增大而出现oom错误。
解决方案很多,我们可以每次限制申请的内存的大小为1M。http://bbs.xml.org.cn/blog/more.asp?name=hongrui&id=3747

6 尽量使用内存池技术提高系统的性能。
声明周期长的对象拥有生命周期短的对象时容易引发内存泄漏,例如:大集合对象拥有大数据量的业务对象的时候,可以考虑分块处理,然后一块一块释放的策略。

7 不要在经常调用的方法中创建对象,特别忌讳在循环中创建对象。
建议可以使用java内嵌的一些数据结构,hashtable vector中存放一些对象,然后使用时再去容器里面去取,不用每次new后载
丢弃

8 把配置增大 a.设置-Xms、-Xmx相等;
b.设置NewSize、MaxNewSize相等;
c.设置Heap size, PermGen space:

9:减少避免内存泄漏主要思想是:1 千万不要出现对象废弃了但是依然存在引用导致不能释放的情况
2 不要申请不可预期的内存如 new byte[x] x不可预测
3 避免循环中出现申请内存的操作
4 尽量复用对象 减少运行期间产生垃圾的情况,降低gc频率的同时也减少内存泄漏的可能性。

相关文章

  • 内存溢出和内存泄漏

    1.内存泄漏 2.内存溢出 -如何避免内存泄漏、内存溢出?

  • Android内存泄漏场景及解决方法

    本文包括以下内容: 内存泄漏原理 Android内存泄漏发生的情况 检测内存泄漏的工具、方法 如何避免内存泄漏 更...

  • 为何每次用完ThreadLocal都要调用remove()?

    什么是内存泄漏 Key 的泄漏 Value 的泄漏 如何避免内存泄露 什么是内存泄漏 内存泄漏指的是,当某一个对象...

  • 内存泄漏的场景及解决办法

    内存泄漏场景,以及开发过程如何避免内存泄漏。 判断 A引用B,A的生命周期长于B。 Handler导致内存泄漏:H...

  • Android如何避免WebView内存泄漏

    Android如何避免WebView内存泄漏 什么是内存泄漏 内存泄漏通俗的讲就是你创建了一个对象,却没有在合适的...

  • 面试

    Android 面试要点 2.13更新 内存优化 什么是oom,如何避免? 如何内存控制,内存优化内存泄漏会导致内...

  • Android的垃圾回收与内存泄露

    标签(空格分隔): Android 内存泄漏的基本知识请见博客一如何高效使用handler避免内存泄漏请见博客二 ...

  • 一篇文章学会定位内存泄漏

    在日常开发中,不可避免的会碰到内存泄漏问题,本片文章作为记录自己在工作中如何使用工具发现内存泄漏,定位内存泄漏。 ...

  • 如何避免内存泄漏

    1 尽早释放无用的对象。在变量退出活动区域后自动设置为null(虽然这样在JAVA里面基本是没用的,详见:http...

  • 内存泄漏原理探讨

    当你如此定义一个handler的时候,系统会提示你,可以会产生内存泄漏,那么为什么会产品内存泄漏,如何避免。先来分...

网友评论

      本文标题:如何避免内存泄漏

      本文链接:https://www.haomeiwen.com/subject/qyxvectx.html