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=良好}
* */
}
}