Я наблюдаю странный сценарий, при котором превышается максимальный предел. Я вижу, что размер продолжает увеличиваться более чем на 10000 (т. е.) на 20000+. Вот код:
Код: Выделить всё
public class FixedSizeLinkedHashMap extends LinkedHashMap {
private final int maxSize;
public FixedSizeLinkedHashMap(int maxSize) {
super(maxSize, 0.75f, true);
this.maxSize = maxSize;
}
@Override
protected synchronized boolean removeEldestEntry(Map.Entry eldest) {
return size() > maxSize;
}
@Override
public synchronized V put(K key, V value) {
return super.put(key, value);
}
@Override
public synchronized V get(Object key) {
return super.get(key);
}
@Override
public synchronized V remove(Object key) {
return super.remove(key);
}
@Override
public synchronized void clear() {
super.clear();
}
}
Код: Выделить всё
fixedsizeLhm = new FixedSizeLinkedHashMap(10000);
Подробнее здесь: https://stackoverflow.com/questions/789 ... ot-working
Мобильная версия