如何实现最不常用 (LFU) 缓存?
最不常用 (LFU) 是一种用于管理计算机内存的缓存算法。此方法的标准特征涉及系统跟踪块在内存中引用的次数。当缓存已满并需要更多空间时,系统将以最低的参考频率清除项目。
实现最近使用的对象缓存的最佳方式是什么,例如在Java中?
我已经使用LinkedHashMap实现了一个(通过维护no。访问对象的时间)但我很好奇是否有任何新的并发集合会是更好的候选者。
考虑这种情况:假设缓存已满,我们需要为另一个缓存腾出空间。假设缓存中记录了两个对象,它们仅被访问一次。如果我们知道另一个(不在缓存中)对象被访问了不止一次,那么要删除哪一个?
谢谢!