如果我看Java中的ConcurrentHashMap,特别是putIfAbsent方法,这个方法的典型用法是:
问题在于Person对象总是被初始化。
是否有一些帮助集合(也许是一些提供此功能的Java框架)
能够给我类似于ConcurrentHashMap的行为,能够利用函数器或任何其他方法来构造值对象,
并且只有在映射不包含给定键的值时才会调用构建代码(即functor.execute())?
ConcurrentMap<String,Person> map = new ConcurrentHashMap<>();
map.putIfAbsent("John",new Person("John"));
问题在于Person对象总是被初始化。
是否有一些帮助集合(也许是一些提供此功能的Java框架)
能够给我类似于ConcurrentHashMap的行为,能够利用函数器或任何其他方法来构造值对象,
并且只有在映射不包含给定键的值时才会调用构建代码(即functor.execute())?
ConcurrentHashMap
将直接支持此功能。 - Louis Wasserman