本帖最后由 张涛的狂怒 于 2014-8-6 10:00 编辑
weakmap是弱引用类,即对象不使用就会被GC自动清理
运行下面一段代码发现,前三个被回收了,但是最后一个没有被回收。这是为什么?
map.put(new<E>( ),new<E>( ))与map.put( , )有什么区别?
public class WeakHashmapDemo {
public static void main(String[] args){
//实例化Map对象
Map <String,String> map=new WeakHashMap <String,String> ();
map.put(new String("10"), new String("aaa1"));
map.put(new String("18"), new String("ab1"));
map.put(new String("14"), new String("aca1"));
map.put("-4", "brb11");
//进行垃圾回收
System.gc();
System.out.println(map);
}
}
|
|