编写(高效)CachedMap实现

时间:2015-02-27 17:55:28

标签: java

我正在尝试编写java.util的Map实现的缓存版本,其中在构造地图实例时,您可以指定键或值的到期时间,例如

public CachedMap(long keyMS, long valueMS) {
    //...
}

我这样做的想法是简单地扩展相关的Map类并覆盖它们的Entry类以添加“set”时间戳来检查到期时间,但是看起来这些类具有包私有保护。如果没有时间注入或维护另外两个内部地图,我有什么方法可以为这些类添加功能(或者不会增加相对极端开销的替代解决方案)?或者我最终是否必须重写所有java.util的Map实现?

至于此目的,最初是用于存储从数据库中检索的自动过期的缓存对象,但是还有其他应用程序,这些Map实现对我有用。

0 个答案:

没有答案