expiring-map:过期地图的小玩具实现

时间:2024-06-18 17:30:15
【文件属性】:

文件名称:expiring-map:过期地图的小玩具实现

文件大小:14KB

文件格式:ZIP

更新时间:2024-06-18 17:30:15

Java

##大纲 这是一个围绕标准 HashMap 的简单包装器,用于支持可配置的到期时间。 可以使用关联的超时写入密钥。 驱逐是使用后台线程自动安排的。 ###关于实现的注意事项将数据写入ExpiryMap时,记录到期时间的条目将放置在PriorityQueue上。 队列按条目的到期时间排序,因此最快到期的项目移动到队列的头部。 一个单独的线程轮询队列。 如果最近条目的到期时间在未来,则线程等待该到期时间到达。 一旦这个时间到达,密钥将被删除(从缓存中过期) 如果在过期线程被阻塞时将新条目放入映射,线程将被唤醒(通知),新条目将被拾取,线程将等待此新项目过期。 ###进一步优化 每个 put() 请求都会查看到期队列并添加到它。 可以使用包含下一个到期值的字段来缓存峰值。 这感觉就像在没有具体驱动程序的情况下过度优化。 到期服务为了简单而牺牲了一些性能,特别是在进入等待之前,第二次


【文件预览】:
expiring-map-master
----src()
--------test()
--------main()
----README.md(3KB)
----pom.xml(2KB)

网友评论