1.靜態(tài)集合類
靜態(tài)的集合因?yàn)殪o態(tài)的對(duì)象的生命周期和JVM是一樣的,所以會(huì)導(dǎo)致內(nèi)存泄漏
2.單例模式
單例的實(shí)例對(duì)象肯定是靜態(tài)的蚕泽,所有如果單例的實(shí)例對(duì)象持有外部對(duì)象的引用,也會(huì)導(dǎo)致內(nèi)存泄漏
3.內(nèi)部類持有外部類
4.各種連接伴逸,比如數(shù)據(jù)庫(kù)連接蜀踏,網(wǎng)絡(luò)連接,IO連接等等儿倒。
5.變量不合理的作用域
6.不要去改變hashset這種集合中的對(duì)象的hash值
7.緩存泄漏
當(dāng)你把數(shù)據(jù)存放在hashmap這種內(nèi)存結(jié)構(gòu)中版保,很容易出現(xiàn)內(nèi)存泄漏
如果你使用WeakHashMap,那么除了WeakHashMap沒(méi)有別的引用指向?qū)ο蟮臅r(shí)候,對(duì)象會(huì)被回收掉彻犁。
8.監(jiān)聽(tīng)器和回調(diào)