Простая библиотека кэширования Java или шаблон проектирования?

Мне нужно часто получать доступ к результатам трудоемких расчетов. Результат меняется нечасто, поэтому мне приходится время от времени пересчитывать данные, но пока можно использовать устаревший результат. Что было бы самым простым способом сделать это, и существует ли существующий метод библиотеки или шаблон проектирования?

Я думаю о чем-то вроде

private static List myCachedList = null;

...

// refresh list once in 3600 seconds
if (needsRefresh(myCachedList, 3600)) {
    // run the calculation
    myCachedList = ...
}
// use either updated or previous value from here on

Правильная реализация может быть не тривиальной, она может иметь дело с безопасностью потоков, условиями гонки и т. Д., Поэтому я бы предпочел использовать проверенную реализацию, чем бросать свою собственную здесь.

Ответы на вопрос(4)

Ваш ответ на вопрос