开发者社区> 问答> 正文

了解AppendOnlyMap的缓存聚合算法需要知道那些方法定义?

了解AppendOnlyMap的缓存聚合算法需要知道那些方法定义?

展开
收起
游客fbdr25iajcjto 2021-12-06 21:34:34 553 0
1 条回答
写回答
取消 提交回答
  • LOAD_FACTOR:负载因子,常量值等于0.7。

    initialCapacity:初始容量值64。

    capacity:容量,初始时等于initialCapacity。

    curSize:记录当前已经放入data的key与聚合值的数量。

    data:数组,初始大小为2*capacity,data数组的实际大小之所以是capacity的2倍,是因为key和聚合值各占一位。

    growThreshold:data数组容量增加的阀值,表达式为growThreshold = LOAD_FACTOR * capacity。

    mask:计算数据存放位置的掩码值,表达式为capacity - 1。 k:要放入data的key。

    pos:k将要放入data的索引值。索引值等于k的哈希值再次计算哈希值的结果与mask按位&运算的值。表达式为pos = rehash (k.hashCode) & mask。

    curKey:data(2 * pos)位置的当前key。

    newValue:key的聚合值。

    2021-12-06 21:42:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载