/* * Written by Cliff Click and released to the public domain, as explained at * http://creativecommons.org/licenses/publicdomain */ package java.util.concurrent; import java.util.Map; import org.cliffc.high_scale_lib.NonBlockingHashMap; /** * A plug-in replacement for JDK1.5 {@link java.util.concurrent.ConcurrentHashMap}. * This version is based on {@link org.cliffc.high_scale_lib.NonBlockingHashMap}. * This solution should be completely compatible, including the serialized * forms and all multi-threaded ordering guarantees. * * @since 1.5 * @author Cliff Click * @param <K> the type of keys maintained by this map * @param <V> the type of mapped values */ public class ConcurrentHashMap<K, V> extends NonBlockingHashMap<K, V> { private static final long serialVersionUID = 7249069246763182397L; public ConcurrentHashMap() { super(); } public ConcurrentHashMap(int initialCapacity) { super(initialCapacity); } public ConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel) { super(initialCapacity); if (!(loadFactor > 0) || concurrencyLevel <= 0) throw new IllegalArgumentException(); } public ConcurrentHashMap(Map<? extends K, ? extends V> t) { super(); putAll(t); } }