RFR: 6543126: Level.known can leak memory
Daniel Fuchs
daniel.fuchs at oracle.com
Thu Aug 11 09:33:54 UTC 2016
Hi Peter,
On 10/08/16 22:06, Peter Levart wrote:
> static synchronized void add(Level l) {
> purge();
> KnownLevel o = new KnownLevel(l);
> nameToLevels.computeIfAbsent(l.name, n -> new ArrayList<>()).add(o);
> intToLevels.computeIfAbsent(l.value, v -> new ArrayList<>()).add(o);
> }
I agree that's a much cleaner piece of code :-)
However I purposefully stayed away from lambdas in
KnownLevel.add because that will be called in the
static initializer of the Level class (when creating
standard levels) - and I didn't want to trigger the
initialization of the lambda infrastructure too early.
This may or may not be an issue any more though.
best regards,
-- daniel
More information about the core-libs-dev
mailing list