-
Notifications
You must be signed in to change notification settings - Fork 1.6k
ConcurrentLinkedHashMap
ConcurrentLinkedHashMap requires a minimum weight of 1. Like Guava, Caffeine allows a minimum weight of 0 to indicate that the entry will not be evicted due to a size-based policy.
ConcurrentLinkedHashMap processes eviction notifications from a queue that any calling thread may take from. Caffeine delegates to the configured executor (default: ForkJoinPool.commonPool()).
Guava inherits the non-atomic ConcurrentMap
default computing methods (compute
, computeIfAbsent
, computeIfPresent
, and merge
). Caffeine implements atomic versions of these Java 8 additions.
ConcurrentLinkedHashMap supports snapshot views in retention order. Caffeine provides this functionality in Policy.Eviction
, obtained through Cache.policy()
, where ascendingMapWithLimit
is coldest
and descendingMapWithLimit
is hottest
.
ConcurrentLinkedHashMap retains the entries and discards the eviction order when serializing. Caffeine, like Guava, retains only the configuration and no data.