Чтобы объяснить домен ...
У меня есть куча (1 000 000) элементов, каждый из 12 типов возможных типов (TypeA, TypeB ... TypeK). Есть 3 неизменяемых класса, а именно,ItemKey (чтобы уникально идентифицировать элемент), ItemTypeKey (чтобы уникально идентифицировать тип) и ItemType (содержащий данные типа, включая ItemTypeKey)
Передо мной находится кеш, который хранит эти данные в двух структурах данных...
ConcurrentHashMap<ItemKey, ItemTypeKey>
ConcurrentHashMap<ItemTypeKey, ItemType>
Я бы реализовал это просто как ConcurrentHashMap<ItemKey, ItemType>
Объем памяти в этом случае был бы минимальным, так как кеш в любом случае хранит только ссылки.
Есть ли какое-то конкретное преимущество в разделении кеша, которого я не вижу?Любые альтернативные проекты структуры данных тоже приветствуются