org.apache.groovy.util.concurrentlinkedhashmap.Weigher is a simple interface for determining how many units of capacity an entry consumes. Depending on which concrete Weigher class is used, an entry may consume a different amount of space within the cache. The org.apache.groovy.util.concurrentlinkedhashmap.Weighers class provides utility methods for obtaining the most common kinds of implementations.
org.apache.groovy.util.concurrentlinkedhashmap.EvictionListener provides the ability to be notified when an entry is evicted from the map. An eviction occurs when the entry was automatically removed due to the map exceeding a capacity threshold. It is not called when an entry was explicitly removed.
The org.apache.groovy.util.concurrentlinkedhashmap.ConcurrentLinkedHashMap class supplies an efficient, scalable, thread-safe, bounded map. As with the Java Collections Framework the "Concurrent" prefix is used to indicate that the map is not governed by a single exclusion lock.
Interface | Description |
---|---|
EntryWeigher | A class that can determine the weight of an entry. |
EvictionListener | A listener registered for notification when an entry is evicted. |
Weigher | A class that can determine the weight of a value. |
Class | Description |
---|---|
ConcurrentLinkedHashMap | A hash table supporting full concurrency of retrievals, adjustable expected concurrency for updates, and a maximum capacity to bound the map by. |
ConcurrentLinkedHashMap.Builder | A builder that creates ConcurrentLinkedHashMap instances. |
Weighers | A common set of Weigher and EntryWeigher implementations. |