WeakHashMap的使用

package frank;
import java.lang.*;
import java.util.WeakHashMap;
/**
 * WeakHashMap的使用 他HashMap用法基本类似,区别在于HashMap使用的是强引用,
 * 所在的key就不会被回收,而WeakHashMap所保留的Key是若引用,所以改key所引用的对象没有被其他对象引用的话可能会被回收掉,WeakHashMap也有可能会自动删除掉这些key
 * */
public class App
{
	public static void main(String[] args)throws Exception
	{
		/**自动删除里面key**/
		WeakHashMap whm = new WeakHashMap();
		whm.put(new String("语文"),new String("良好"));
		whm.put(new String("数学"),new String("良好"));
		whm.put(new String("英语"),new String("良好"));
		whm.put("java",new String("良好"));//key是一个字符串常量池的字符串对象
		System.out.println(whm);
		Runtime.getRuntime().gc();
		Runtime.getRuntime().runFinalization();
		System.out.println(whm);
		/**
		 * 输出结果:
		 * {java=良好, 数学=良好, 英语=良好, 语文=良好}
		{java=良好}
		 * */
	}
}

  

posted on 2013-10-22 15:13  wp456  阅读(370)  评论(0)    收藏  举报

导航