Effective Java 学习笔记 (6)
来源:互联网 发布:淘宝网的绿知了的价格 编辑:程序博客网 时间:2024/04/30 17:27
及时消除不使用的对象的引用, 理论上, 带有内存管理的语言是不存在内存泄漏的, 但是如果对对象的操作不当,也是可能会造成内存泄漏.
如有一个stack, 其pop函数如下.
public Object pop()
{
if( Element.length() == 0) return null;
return Element[size—];
}
这样的代码初看好像没有什么问题, 当栈增加再减少后, 原来的数组中仍然存在被POP的那个对象的引用! 正确答案应该是:
public Object pop()
{
if( Element.length() == 0) return null;
Object ele = Element[—size];
Element[size] =null;
return ele;
}
然而实际上,我们不用在程序中写满类似XXX=null的情况, 类似这样的处理应该是例外的少数做法而不能看成常规做法, 否则程序的结构就不够清晰.
一般说来,只有当一个类自己管理内存时,才要小心内存泄漏.
还两个地方,一个是缓存, 被缓存的物体经常被遗忘.
还有就是listener和callback的函数, 经常是注册后, 在不使用了,忘记了"derigster”, 导致这块相关的内存不无清除
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mutsinghua/archive/2010/01/23/5245558.aspx
- 《Effective Java》学习笔记6
- Effective Java 学习笔记 (6)
- Effective Java 学习笔记 (6)
- effective java学习笔记
- Effective java学习笔记
- effective java学习笔记
- effective java 学习笔记
- Effective Java 学习笔记
- Effective Java 学习笔记
- Effective Java学习笔记
- Effective Java学习笔记
- Effective Java学习笔记
- Effective Java 学习笔记
- Effective java --学习笔记
- Effective Java-学习笔记(6-9章)
- 《Effective Java》学习笔记(1)
- 《Effective Java》学习笔记(3)
- 《Effective Java》学习笔记(4)
- Effective Java 学习笔记(3)
- MVC模式 "Model-View-Controller"
- Effective Java 学习笔记(4)
- Effective Java 学习笔记(5)
- 让我们谈谈需求,说说设计
- Effective Java 学习笔记 (6)
- 对话框的一些操作
- Effective Java 学习笔记 (7)
- 郁闷坏了
- SQL Server数据库事务日志序列号(LSN)介绍
- 设计模式大全
- Effective Java 学习笔记 (7)
- 80后被分成九大派,你是哪一派?
- Java泛型方法