# Package org.apache.groovy.util.concurrent.concurrentlinkedhashmap

## Package org.apache.groovy.util.concurrent.concurrentlinkedhashmap Description

This package contains an implementation of a bounded ConcurrentMap data structure.

org.apache.groovy.util.concurrent.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.concurrent.concurrentlinkedhashmap.Weighers class provides utility methods for obtaining the most common kinds of implementations.

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 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.

see:
  http://code.google.com/p/concurrentlinkedhashmap/

- Interface Summary
  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 Summary
  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.