gpt4 book ai didi

java - 如何实现最不常用 (LFU) 缓存?

转载 作者:太空狗 更新时间:2023-10-29 22:46:33 27 4
gpt4 key购买 nike

最不常用 (LFU) 是一种用于管理计算机内存的缓存算法。这种方法的标准特征涉及系统跟踪一个 block 在内存中被引用的次数。当缓存已满并需要更多空间时,系统将清除引用频率最低的项目。

用 Java 实现最近使用对象缓存的最佳方法是什么?

我已经使用 LinkedHashMap 实现了一个(通过维护访问对象的次数)但我很好奇是否有任何新的并发集合是更好的候选对象。

考虑这种情况:假设缓存已满,我们需要为另一个缓存腾出空间。假设缓存中记录了两个对象,它们仅被访问一次。如果我们知道另一个(不在缓存中的)对象被多次访问,应该删除哪个对象?

谢谢!

最佳答案

您可能会受益于 ActiveMQ 的 LFU 实现:LFUCache

他们提供了一些很好的功能。

关于java - 如何实现最不常用 (LFU) 缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21117636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com