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. 单例模式
单例对象始终存在,如果这个对象持有别的对象的援用,如果没有去处这个援用会造成这个对象透露