Встречается на 2% собеседований по Java

Что делать когда достигается предельный размер Cache

При достижении предельного размера кэша можно использовать стратегии вытеснения (eviction policies). Наиболее популярные:

  1. LRU (Least Recently Used) - удаляет редко используемые элементы. Пример с LinkedHashMap:
java
new LinkedHashMap<K,V>(capacity, 0.75f, true) {
    protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
        return size() > MAX_SIZE;
    }
};
  1. FIFO (First In First Out) - удаляет старые элементы независимо от частоты использования.

  2. LFU (Least Frequently Used) - удаляет наименее часто используемые элементы.

Также можно:

  • Увеличить размер кэша (если возможно)
  • Использовать мягкие/слабые ссылки (SoftReference, WeakReference)
  • Реализовать TTL (время жизни записей)

Выбор стратегии зависит от паттерна доступа к данным. LRU часто оптимален для большинства случаев.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы