(36) WeakHashMap

这篇博客主要介绍了Java中的WeakHashMap,其特点是key仅持有对象的弱引用。当key不再被其他强引用时,key及其对应的value会被垃圾回收,从而自动从HashMap中移除。示例代码展示了如何创建并使用WeakHashMap,以及在运行垃圾回收后观察其变化。
摘要由CSDN通过智能技术生成
package com.xuan.collection;
/*WeakHashMap中的key只保留对实际对象的弱引用,这意味着如果该HashMap对象所有key所引用的对象没有被其他强引用变量所引用,
 *则这些key所引用的对象可能被垃圾回收 ,HashMap也将自动删除这些key所对应的key-value。
 * */
import java.util.WeakHashMap;

public class WeakHashMapTest2 {
	public static void main(String[] args) {
		WeakHashMap whm=new WeakHashMap();
		//将WeakHashMap中添加三个key-value对,
		//三个key都是匿名字符串对象(没有其他引用)
		whm.put(new String("语文"),new String("良好"));
		whm.put(new String("数学"), new String("及格"));
		whm.put(new String("英文"),new String("中等"));
		//将WeakHashMap中添加一个key-value对,该key是一个系统缓存的字符串对象
		whm.put("java", new String("中等"));
		//输出whm对象,将看到4个key-value对。
		System.out.println(whm);
		//通知系统立即进行垃圾回收
		System.gc();
		System.runFinalization();
		//通常情况下,将只看到一个key-value对。
		System.out.println(whm);
		
		
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值