public final synchronized RepositoryId getId(String key) { RepositoryId repId = super.get(key); if (repId != null) return repId; else { // repId = pool.popId().init(key); repId = new RepositoryId(key); put(key, repId); return repId; } } }
public final synchronized RepositoryId getId(String key) { RepositoryId repId = super.get(key); if (repId != null) return repId; else { // repId = pool.popId().init(key); repId = new RepositoryId(key); put(key, repId); return repId; } } }
final void increasePool(int size) { // if (cache.size() <= MAX_CACHE_SIZE) for (int i = size; i > 0; i--) push(new RepositoryId()); /* * // _REVISIT_ This will not work w/out either thread tracing or weak references. I am // betting that thread * tracing almost completely negates benefit of reuse. Until either // 1.2 only inclusion or proof to the * contrary, I'll leave it this way... else { int numToReclaim = cache.size() / 2; Enumeration keys = * cache.keys(); Enumeration elements = cache.elements(); for (int i = numToReclaim; i > 0; i--) { Object key = * keys.nextElement(); Object element = elements.nextElement(); * * push(element); cache.remove(key); } } */ }
final void increasePool(int size) { // if (cache.size() <= MAX_CACHE_SIZE) for (int i = size; i > 0; i--) push(new RepositoryId()); /* * // _REVISIT_ This will not work w/out either thread tracing or weak references. I am // betting that thread * tracing almost completely negates benefit of reuse. Until either // 1.2 only inclusion or proof to the * contrary, I'll leave it this way... else { int numToReclaim = cache.size() / 2; Enumeration keys = * cache.keys(); Enumeration elements = cache.elements(); for (int i = numToReclaim; i > 0; i--) { Object key = * keys.nextElement(); Object element = elements.nextElement(); * * push(element); cache.remove(key); } } */ }