加载中…
个人资料
iPan
iPan
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,058,661
  • 关注人气:234
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

WeakHashMap垃圾回收示例

(2022-05-10 16:02:23)
标签:

weakhashmap

gc

垃圾

回收

分类: J2EE笔记
import java.util.WeakHashMap;

public class Test {

public static void main(String[] args) {
WeakHashMap map = new WeakHashMap<>();
        String value = "aaa";
        String key = new String("k1");
//        String key = "k1"; // 字符串缓冲池是不会被回收的
        map.put(key, value);
        System.out.println(map);
        key = null; //将key置位null
        System.out.println(map);
        System.gc(); //这里模拟一次GC过程
        System.out.println(map + "\t" + map.size());
    }
}

总结
(1)WeakHashMap使用(数组 + 链表)存储结构;
(2)WeakHashMap中的key是弱引用,gc的时候会被清除;
(3)每次对map的操作都会剔除失效key对应的Entry;
(4)使用String作为key时,一定要使用new String()这样的方式声明key,才会失效,其它的基本类型的包装类型是一样的;
(5)WeakHashMap常用来作为缓存使用;

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有