共计 382 个字符,预计需要花费 1 分钟才能阅读完成。
1. 动态汇合类
像 hashmap,vector 等,如果是全局的,动态的,汇合只增不减就会造成透露,汇合类应该增减的办法都有。
2. 当汇合外面的对象属性被批改后,在调用 remove() 不起作用
p a = new person; set.add(a); a.setName(“ddd”);set.remove(a); 删除不掉,set.add(a); 还能够胜利,外面有两个 a 对象,批改前的 a 拜访不到,内存透露,因为属性扭转对象的 hashcode 扭转,set 就找不到了。
3. 监听器
当咱们往一个控件中增加监听对象,控件会用汇合之类的存储这些监听对象,当开释对象的时候遗记删除监听器
4. 各种连贯
遗记 close();
5. 外部类和内部模块的援用
把对象的援用传给内部模块,内部模块没有去处这个援用;
6. 单例模式
单例对象始终存在,如果这个对象持有别的对象的援用,如果没有去处这个援用会造成这个对象透露
正文完