内存溢出与内存泄漏

内存溢出 out of memory

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

内存泄漏 memory leak

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

  检测工具:

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

  常见原因:

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

猜你喜欢

转载自blog.csdn.net/weixin_38229356/article/details/82193243