# Package mssql.googlecode.concurrentlinkedhashmap

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

`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 `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 Also:
  http://code.google.com/p/concurrentlinkedhashmap/

Interface Summary
EntryWeigher<K,V>: A class that can determine the weight of an entry.
EvictionListener<K,V>: A listener registered for notification when an entry is evicted.
Weigher<V>: A class that can determine the weight of a value.

Class Summary
ConcurrentLinkedHashMap<K,V>: A hash table supporting full concurrency of retrievals, adjustable expected concurrency for updates, and a maximum capacity to bound the map by.
ConcurrentLinkedHashMap.Builder<K,V>: A builder that creates `ConcurrentLinkedHashMap` instances.
Weighers: A common set of `Weigher` and `EntryWeigher` implementations.