Effective Java 学习笔记 (6)
及时消除不使用的对象的引用, 理论上, 带有内存管理的语言是不存在内存泄漏的, 但是如果对对象的操作不当,也是可能会造成内存泄漏. 如有一个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”, 导致这块相关的内存不无清除
相关文档:
java clone
文章分类:Java编程 关键字: java clone
1.java里的clone分为:
A:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。
Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要 ......
这是一段我参考的Java程序字段,已经调试可以通Eclipse运行了,代码有点看不懂,哪位高手可以帮我做个中文注释?谢谢啦~~
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import ja ......
JSR 203:NIO 2扩展和实现了在Java 1.4中加入的最初NIO功能。在NIO 2中最明显的新增功能就是文件访问API的全面改进。多数开发者都用过java.io.File,对其存在的众多缺陷自然心中有数:
◆不支持符号链接(symbolic links )
......
自从学习Java以来已经一年有余了,对Java还只是初阶段的了解,都怪在学校的时候贪玩没有有效的利用时间,现在在一个培训学校学习Java,现在就要做项目了还是什么都不懂,还好有Csdn。
在Csdn的日子里叫我找到了家的感觉,得到了很 ......