Если вы просто хотите поэкспериментировать с различными алгоритмами и узнать, как они работают, то вы можете взглянуть на custard-cache - это зародышевая реализация с открытым исходным кодом некоторых из наиболее распространенные алгоритмы замены страниц, а также адаптер для этих алгоритмов, которые будут использоваться в JBoss Cache, и очень маленький набор тестов, позволяющий вам запускать различные алгоритмы кэширования для наших собственных выборочных данных, чтобы оценить соотношение попаданий + эффективность.
Теперь, отказ от ответственности : Я написал этот код . Он был разработан как экспериментальное упражнение у моего работодателя, где мы пытались максимизировать эффективность кэша и хотели узнать, поможет ли нам другой алгоритм. Мы не заканчивали тем, что меняли алгоритмы, но мы полагали, что кто-то еще мог бы использовать это, так что с открытым исходным кодом. С тех пор ничего особенного не было сделано, но, пожалуйста, посмотрите и посмотрите, полезно ли это.
Реализованы следующие алгоритмы пейджинга:
Есть и другие, которые я хотел бы реализовать (семейство часов, LRU-K, CAR), но до них не дошло.
Надеюсь, это полезно!