《Effective java》读书笔记-(三)
来源:互联网 发布:mac在u盘新建文件夹 编辑:程序博客网 时间:2024/06/06 12:57
java强大之处可以帮助我们管理内存,并不是意味着,程序猿可以放弃内存的管理,同样需要我们手动管理内存。不然的话,出现内存泄漏,十分影响性能。
什么事内存泄漏呢?简单点说,就是一个失去引用的对象,没有及时回收其内存,以致该对象永远不会回收,也许你觉得出现这样的错误,无关紧要,可是你要想到,你在此处出现了这样的失误,可能在其他地方也会忽略,需要及时的清理过期引用。
解决的方式,一种当然是及时释放内存。比如从栈中pop一个对象,就立即将该对象的内存清除,再返回栈顶对象。另一种方式是使该对象结束于生命周期。此种方式在android中很常见,比如当前activity中的context对象。
造成内存泄漏,还来源于缓存,对象存放于缓存中,容易遗忘,可能长时间不使用,仍存在缓存中。可以启动一条后台线程来完成清除缓存,也可以在添加新条目的时候清理旧的缓存。
另外内存泄漏常见来源是监听器和其他回调。某个api注册了,没有显示的取消注册,久而久之,就会积聚。解决方式是使用弱引用,当内存无论充足与否时候,会回收内存。
0 0
- 《Effective java》读书笔记-(三)
- Effective Java读书笔记(三)
- effective java 读书笔记(三)
- Effective Java读书笔记三
- effective java读书笔记三
- 《Effective Java》读书笔记三
- Effective java 读书笔记( 三 )
- 【effective Java读书笔记】方法(三)
- 【effective Java读书笔记】通用程序设计(三)
- effective C++ 读书笔记(三)
- effective c++读书笔记(三)
- effective C++读书笔记(三)
- 《Effective C++》读书笔记(三)
- 《effective C++》读书笔记(三)
- 十月读书笔记:Effective Java(三)--避免使用finalize
- Effective Java 读书笔记(三):类和接口
- 《effective java》读书笔记--(二)
- 《Effective Java》读书笔记系列之三
- hdu3081 二分+并查集+最大流
- 四种简略的拓宽51单片机中断的妙招!
- android parcelable序列化成字符串
- poj 1046 Color Me Less -- 模拟
- vijos1020—切蛋糕
- 《Effective java》读书笔记-(三)
- Ubuntu 12.04.1 mysql从5.5升级到5.6
- php htmlentities和htmlspecialchars 的区别
- java线程深度解析(二)——线程互斥技术与线程间通信
- Hadoop实战【一、HDFS】
- 糊涂窗口综合症
- 向本地的apache服务器上传文件
- 深入浅出java 函数参数传递原理
- 每日一练-----局部最小值位置