-- 找 static 的東西,特別是 static 的 Collection。
-- 是不是因为 GC 忽略 static 的内容?
-- 這個是肯定的,程序員很容易就犯錯誤,比較常見的就是 singleton 的 manager 問題,有些 static 的 Collection,往裏麵 put 了,卻沒有 remove,還是 static 的……
-- 不是 gc 忽略 static 的内容。因为 static 的 collection 的生命周期和程序的运行周期一样长,如果在 static 的 collection 中有其他对象的引用,那么 gc 就永远不会收集里面的内容,即使在其他地方也没有用到了
-- 找那些 singleton 會找出點東西
-- 一般的 Java 里面内存泄露都与 Collection 有关,常见的可能是 map 里面放了太多的东西,不用的时候又没有 remove 掉;所以 Java 里面有 WeakHashMap 这个类以及相关的一些类、接口