using the cache from several threads is currently very slow, because of
synchronization for each put(). ConcurrentHashMap has neat mechanisms to
reduce thread communication to the strict minimum.
The LRu was actually not very useful, given that soft references allow to
keep data almost indefinitely if enough RAM is given.