RFR: 8004518 & 8010122 : Default methods on Map (original) (raw)

Ulf Zibis Ulf.Zibis at CoSoCo.de
Wed Apr 10 09:25:02 UTC 2013


Hi again,

please consider to add hash() to interface Map, as an additional performance opportunity, see: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6812862

It was rejected with: implement a wrapper class for the "key" to customize its hash() & equals() methods

Unfortunately my earlier comment on this appears to be lost by migration to Jira, so here again:

Instantiating a wrapper object for each key contradicts the purpose of performance tuning and additionally increases memory footprint.

-Ulf

Am 08.04.2013 20:07, schrieb Mike Duigou:

Hello all;

This is a combined review for the new default methods on the java.util.Map interface being added for the JSR-335 lambda libraries. The reviews are being combined because they share a common unit test. http://cr.openjdk.java.net/~mduigou/JDK-8010122/0/webrev/ 8004518: Add in-place operations to Map forEach() replaceAll() 8010122: Add atomic operations to Map getOrDefault() putIfAbsent() * remove(K, V) replace(K, V) replace(K, V, V) compute() * merge() * computeIfAbsent() * computeIfPresent() * The * operations treat null values as being absent. (ie. the same as there being no mapping for the specified key). The default implementations provided in Map are overridden in HashMap for performance purposes, in Hashtable for atomicity and performance purposes and in Collections for atomicity. Mike



More information about the core-libs-dev mailing list