diff --git a/src/org/redkale/convert/Factory.java b/src/org/redkale/convert/Factory.java index b38231a9a..4c500b59c 100644 --- a/src/org/redkale/convert/Factory.java +++ b/src/org/redkale/convert/Factory.java @@ -37,13 +37,13 @@ public abstract class Factory { private final Encodeable anyEncoder = new AnyEncoder(this); //----------------------------------------------------------------------------------- - private final HashedMap creators = new HashedMap(); + private final ConcurrentHashMap creators = new ConcurrentHashMap(); - private final Map entitys = new ConcurrentHashMap(); + private final ConcurrentHashMap entitys = new ConcurrentHashMap(); - private final HashedMap> decoders = new HashedMap(); + private final ConcurrentHashMap> decoders = new ConcurrentHashMap(); - private final HashedMap> encoders = new HashedMap(); + private final ConcurrentHashMap> encoders = new ConcurrentHashMap(); private final HashMap columnEntrys = new HashMap(); diff --git a/src/org/redkale/convert/HashedMap.java b/src/org/redkale/convert/HashedMap.java deleted file mode 100644 index a0f8db5a9..000000000 --- a/src/org/redkale/convert/HashedMap.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package org.redkale.convert; - -import java.lang.reflect.*; - -/** - * 只增不减的伪Map类 - * - * @see http://www.redkale.org - * @author zhangjx - * @param - * @param - */ -@SuppressWarnings("unchecked") -public final class HashedMap { - - protected final transient Entry[] table; - - public HashedMap() { - this(128); - } - - public HashedMap(int initCapacity) { - this.table = new Entry[Math.max(initCapacity, 16)]; - } - - public final V get(final K key) { - final K k = key; - final Entry[] data = this.table; - Entry entry = data[k.hashCode() & (data.length - 1)]; - while (entry != null) { - if (k == entry.key) return entry.value; - entry = entry.next; - } - return null; - } - - public final V put(K key, V value) { - final K k = key; - final Entry[] data = this.table; - final int index = k.hashCode() & (data.length - 1); - Entry entry = data[index]; - while (entry != null) { - if (k == entry.key) { - V old = entry.value; - entry.value = value; - return old; - } - entry = entry.next; - } - data[index] = new Entry(key, value, data[index]); - return null; - } - - protected static final class Entry { - - protected V value; - - protected final K key; - - protected final Entry next; - - protected Entry(K key, V value, Entry next) { - this.key = key; - this.value = value; - this.next = next; - } - } -}