在Chronicle-map描述中,有这样的说法:
纪事地图提供内存访问速度,并支持超低垃圾收集.纪事地图可以支持最需要的应用程序。
支持超低垃圾收集到底代表什么?这是否意味着编年史映射试图在堆中分配尽可能少的对象?
据我所知,具有低延迟需求的项目试图避免不必要的分配,部分是通过使用不含gc的集合,一部分是通过对象池。其中之一是避免对原语进行不必要的装箱/取消装箱。例如,如果您有一个Map<Long, Entity>,为了避免创建Long对象,您可以使用基于值类型的映射实现,比如trove库中的TLongObjectMap<Value>。
然后,可以以这种方式创建chronicle-map实例,例如使用原语作为键。有可能吗?若否,是否有任何理由不实施?
发布于 2018-05-15 11:12:39
是的,这可以使用ChronicleMap,而无需在热路径上进行一个分配(即垃圾)。如果您有原语键(或值),则应该使用由纪事值库提供的自由权重模式。请参阅本教程中的值接口,而不是装箱原语部分。
https://stackoverflow.com/questions/50347010
复制相似问题