Spring ConcurrentReferenceHashMap简单测试
来源:互联网 发布:js实现word预览 编辑:程序博客网 时间:2024/06/06 03:03
Spring ConcurrentReferenceHashMap简单测试
ConcurrentReferenceHashMap是自spring3.2后增加的一个同步的软(虚)引用Map。关于软引用(SoftRefrence)和虚引用(WeakRefrence)可以参见java四种引用类型。废话不多说直接上测试代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
输出结果:
神奇的事发生了。通过代码我们可以看到。我先构建了一个虚引用的map对象(也就是本文主角ConcurrentReferenceHashMap),然后新建对象key,value并将两个对象放入Map中进行保存。然后使key对象的强引用置为null。然后调用系统GC。由于系统GC的特殊性质并不能保证系统立马进行GC操作所已紧接着让主线程睡眠5s。接着打印我们的map对象发现map中的对象自动被移除了。
接下来我不置空key而将value置空发现结果相同。
结论:
查看ConcurrentReferenceHashMap源码发现起底层实现依赖的是RefrenceQueue完成自动移除操作。时间有限就写到这里。有时间再进行完善。
0 0
- Spring ConcurrentReferenceHashMap简单测试
- Spring ConcurrentReferenceHashMap简单说明
- Spring—ConcurrentReferenceHashMap
- spring 简单IOC测试
- Spring简单测试项目
- Spring AspectJ简单测试代码
- spring Quartz简单整合测试
- java代理课程测试 spring AOP代理简单测试
- 使用AOP,在spring中实现简单的性能测试
- 一。简单搭建Spring框架及用JUnit测试。
- Spring Security教程(2)----SpringSecurity简单测试
- Spring Security教程(2)----SpringSecurity简单测试
- Spring WebSocket简单入门测试Demo(网页及时聊天)
- Spring Security教程(2)----SpringSecurity简单测试
- Spring Security教程(2)----SpringSecurity简单测试
- Spring框架的测试和ClassPathXmlApplicationContext类的简单使用
- 简单使用Spring注解 测试程序 非web程序
- Spring WebSocket简单入门测试Demo(网页及时聊天)
- USB 描述符详细解析,来自老外网站,比协议描述清晰
- 背包问题(可拆背包)
- Memcached的常见命令介绍
- MVC框架自己封装开启超神之路(上) 3-1配置加载类
- Android学习之路--四大组件--Service
- Spring ConcurrentReferenceHashMap简单测试
- 数据结构::线索化二叉树
- Spring MVC 跳转(1)-转发
- windows录音教程
- 30、(知识篇)SpringMVC07 Spring 自定义视图
- Hadoop之MapReduce
- C、C++不定参数的使用
- docker安装教程
- redis的五种数据类型---hash类型