Map 作为静态变量时关于内存的问题
比如说 有一个 静态变量map
public static Map<String,String> map = new HashMap();
然后我存入了大量的数据。
1. 将 map =null , 或者 map.clear() 的话,内存不会被GC 回收 , 那么 那些对象失去引用会不会被GC 回收。
2. 如果说 那些对象可以被回收, GC 后,这些内存会不会被重复利用,同样的再往map 里面插入一批数据,大小不超过 原map 的话,占用的内存会不会增加。
3. 如果类似的 清除数据, 增加数据,操作比较频繁的话(可能没来得及GC) , 那么占用的内存,在jvm 内存足够的情况下,会不会一直增加, 且增加了的内存,除非此类卸载,否则,这些内存无法被回收。