Предположим, потенциально многопоточная среда. Я хочу использовать карту вместе с кэшированием (значением). Почему я предпочитаю один из
collection.immutable.Map.empty[ K, SoftReference[ V ]]
new com.google.common.collect.MapMaker.softValues.makeMap[ K, V ]
над другим? Карта будет сохранена в ссылке на STM, поэтому неизменяемой будет просто и хорошо. Кроме того, K
, скорее всего, будет Long
, поэтому я мог бы использовать collection.immutable.LongMap
.
В чем преимущество использования коллекций Google здесь? Производительность и пространство?