RFR: JDK-8238648 Rename and simplify Utils.WeakSoftHashMap
Jonathan Gibbons
jonathan.gibbons at oracle.com
Fri Feb 7 02:31:48 UTC 2020
Please review a 1-file cleanup to rename and simplify Utils.WeakSoftHashMap.
Utils.WeakSoftHashMap sounds like a general collection but is
specifically an impl of Map<Element,CommentHelper>.
Furthermore, although it declares that it implements
Map<Element,CommentHelper>, it is always used explicitly via its own
class name, and never as a Map. This means that we can determine the
methods that are required (get, put, remove, computeIfAbsent) and delete
the others.
Finally, it is "just" a memory sensitive cache for CommentHelper
objects, and so a better name for the class is just CommentHelperCache.
That all being said, there is one small but notable change. Previously,
the code used a WeakHashMap<Element, ...>, so that the cache would not
hold on unnecessarily to the keys. But the reality is that javac never
drops references to elements in the javac symbol tables, and javadoc has
many other Map<Element, ?> and so there is really no point in this cache
using a WeakHashMap. It is therefore changes to a plain simple HashMap.
-- Jon
JBS: https://bugs.openjdk.java.net/browse/JDK-8238648
Webrev: http://cr.openjdk.java.net/~jjg/8238648/webrev/index.html
More information about the javadoc-dev
mailing list