大家好。
我非常需要在短时间内实现 Java 中的 Clock-Pro 缓存算法。但我只有一篇官方文章:时钟专业版:时钟更换的有效改进
对我来说,很难理解那里描述的算法。也许它只是笼统地写的。我也知道它是在 linux 内核中实现的,我认为它比官方文章难得多:(
我想它一定是这样的:
public class ClockProCache<K,V>
我们可以在哪里放置一个对象,它将纠正用真正的 Clock-Pro 逻辑替换另一个对象。
如果有人可能在本主题中有一些经验或尝试,请帮助实现 java。
这是我的Python 3实现,你可以将其用作示例代码。你所指的论文并不容易理解。我读了大约 10 遍,花了很长时间思考,他们真正想要的是什么。我希望这有所帮助。
https://bitbucket.org/SamiLehtinen/pyclockpro
附言研究LIRS也是个好主意,CLOCK-Pro基本上是一个LIRS近似值。就像基本的时钟是LRU近似一样。