文章列表
http://www.blogjava.net/xyz20003/archive/2009/06/15/282269.aspx
在WeakHashMap 中,当某个键不再正常使用时,将
自动
移除其条目
可是WeakHashMap是真的自动移除其条目吗?
今天因为闲来无事,所以想看看WeakHashMap是如何自动实现移除其内部不用的条目从而达到的自动释放内存的目的的。仔细的看了看JVM自带
的源代码的实现,在WeakHashMap是主要通过expungeStaleEntries这个函数的来实现的。基本上只要对WeakHashMap的
内容进行访问就会调用这个函数,从而达到清除其内部不在为外部引用的条目。但是如果预先生成了WeakHashMap,而在GC以前又不曾访问该
...