首页 > 其他 > 详细

WeakHashMap的使用

时间:2015-05-26 23:05:09      阅读:194      评论:0      收藏:0      [点我收藏+]
当我们需要大量使用 WeakReference 的时候,可以考虑使用 WeakHashMap

在执行垃圾回收之前,WeakHashMap 和 普通的 HashMap 没有任何区别,但是一旦 执行垃圾回收,WeakHashMap 中的所有 key—value 对都会被清空。

import java. util.WeakHashMap ;

class Key{
    private String name ;    
    public Key (String name) {
         super();
         this.name = name;
    }
    
}

public class Main{
    public static void main (String[] args) throws Exception{
        WeakHashMap <Key, String> map = new WeakHashMap<Key , String>();
        for ( int i = 0 ; i < 10 ; i++) {
            map .put( new Key( i+""), "value"+i );
        }
        System .out. println(" 执行垃圾回收机制前: ");
        System .out. println(map );
        System .gc();
        //暂停当前线程使得后台垃圾回收线程得以运行
        Thread .sleep( 50);
        System .out. println(" 执行垃圾回收机制后: ");
        System .out. println(map );
        
    }
}

运行结果:

执行垃圾回收机制前:
{Key@42a57993=value9, Key@33909752=value6, Key@70dea4e=value4, Key@15db9742=value0, Key@5c647e05=value5, Key@7852e922=value2, Key@3d4eac69=value8, Key@55f96302=value7, Key@4e25154f=value3, Key@6d06d69c=value1}
执行垃圾回收机制后:
{}




WeakHashMap的使用

原文:http://www.cnblogs.com/ZhangJinkun/p/4531681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!