1

Тема: Алгоритм и реализация КЭШ cache в JAVA. Помогите разобраться.

Требуется
    Создать универсальную реализацию кэша(ы) с помощью приведенных ниже алгоритмов. Все кэши должны поддерживать нить безопасном режиме, быть универсальными и не использовать никаких сторонних разработчиков, помимо JSE.

    Least Recently Used (LRU) cache
    Least Frequently Used (LFU) cache

Что такое этот КЭШ cache?
Для чего он нужен?
Где применяется (самые простые варианты)?
Какую литературу по этому можно прочитать?
Уже понимаю, что сама тема очень обширная в этом у меня и загвоздка. не могу свести к какой нибудь простейшей реализации.
Наведите на мысль как реализовать, может есть какой-то пример?
Спасибо всем откликнувшимся!