欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

内存溢出与内存泄漏

程序员文章站 2022-04-16 22:45:43
...

内存溢出 out of memory

  指程序申请内存时,没有足够的空间。

内存泄漏 memory leak

  指程序中动态分配的堆内存,由于某些原因未释放或者不能释放,造成系统内存的浪费,导致程序运行速度减慢,甚至系统崩溃,最终的结果解释内存溢出。

  检测工具:

1.MAT(http://www.eclipse.org/mat/)
2.LeakCanary

  常见原因:

1.static关键字大量使用
2.ThreadLocal使用
3.集合容器未及时clear并设置null
4.资源未关闭
5.单例模式生命周期较长,可以设置延迟加载,并在不用时设置为null