我想要一个HashMap<String, String>
,每天午夜,缓存都会过期。
请注意,它是 J2EE 解决方案,因此多个线程可以访问它。
在 Java 中实现它的最佳方法是什么?
尽管其他建议可以计算到期时间,但值得注意的是:
哈希图的过期可以延迟完成
即没有任何监视器线程!
实现过期的最简单方法如下:
1) 扩展哈希图,并创建一个本地 nextMidtime (Long) 变量,在构造函数中初始化为 System.currentTime....。这将设置为等于下一个午夜时间(以毫秒为单位)...
2) 添加以下代码片段“containsKey”和“get”方法(或负责确保数据不陈旧的任何其他方法)的第一行如下:
if (currentTime> nextMidTime)
this.clear();
//Lets assume there is a getNextMidnight method which tells us the nearest midnight time after a given time stamp.
nextMidTime=getNextMidnight(System.currentTimeInMilliseconds);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)