1

Chronicle-map描述中说:

Chronicle Map 提供内存访问速度,并支持超低垃圾收集。Chronicle Map 可以支持最苛刻的应用程序。

支持超低垃圾回收究竟代表什么?这是否意味着 Chronicle 映射试图在堆中分配尽可能少的对象?

据我所知,具有低延迟要求的项目会尽量避免不必要的分配,部分通过使用 gc-free 集合,部分通过对象池。其中之一是避免对原语进行不必要的装箱/拆箱。例如,如果您有一个Map<Long, Entity>, 来避免创建Long对象,您可以使用基于值类型的映射实现,例如TLongObjectMap<Value>trovelibrary.xml 中。

然后,以这种方式创建实例是有意义的,chronicle-map例如,使用原语作为键。可能吗?如果没有,是否有任何理由不执行此操作?

4

1 回答 1

2

是的,ChronicleMap无需在热路径上进行单一分配(即垃圾)就可以使用它。如果您有原始键(或值),则应使用由Chronicle Values库提供的享元模式。请参阅教程中的值接口而不是盒装原语部分。

于 2018-05-15T11:12:39.413 回答