问题标签 [chronicle-values]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
341 浏览

java - Chronicle Values:如果它仍然需要在堆上分配一个实例,那有什么意义呢?

我无法理解如何正确使用这个库,因为它每次分配都会产生垃圾,这似乎是意图?该库是否打算与这些特性一起使用?或者我错过了什么,还有另一种分配方式吗?

例如:

在 YourKit 中进行分析后,您可以看到正在生成许多分配(垃圾):

YourKit 分析

0 投票
1 回答
78 浏览

chronicle - Chronicle Map - 字段的值正在交换位置

我创建了 Value 接口:

然后我创建了编年史地图,一个条目的键,一个条目的值,我把这个条目放在创建的地图中:

然后我触发了几次附加到创建的地图的过程,获取价值并打印它:

对于某些运行,打印的条目具有正确的状态。但有几次我得到:

level1Description 和 level2Description 的值交换了位置。

当我更改名称时:
level1Description -> l1Description
level2Description -> l2Description
level3Description -> l3Description
打印的条目值始终有效。
我在 Chronicle 文档中找不到对此的确切解释。所有提示都与值的大小有关(例如:averageValueSize()、constantKeySizeBySample() 等),而不是 Value 接口中的方法命名。
我在不同版本的编年史地图上检查了这一点,即使是在 maven 存储库上可用的最新版本上,我总是最终在交换位置时遇到了这个问题。