gpt4 book ai didi

具有最近一小时值的 Java 计数器

转载 作者:行者123 更新时间:2023-11-30 06:09:18 27 4
gpt4 key购买 nike

我需要一个计数器,它会随着某些任务的完成而递增。我们只需要最后一小时的值,即窗口将移动而不是静态时间。

解决此问题的最佳方法是什么?我能想到的一种方法是拥有一个大小为 60 的数组,每分钟一个,并更新相应分钟的条目,然后在 get() 上完成所有这些操作。转到新的一分钟时,阵列将被重置。

有更好的解决方案吗?有可用的基于时间的 Counter 实现吗?

最佳答案

我写了 Java 类 DecayingCounter为此目的。

它使用以下公式来实现指数时间衰减计数器:

tau = halfLifeInSeconds / Math.log(2.0)
value *= Math.exp(deltaTimeInNanos * -1E-9 / tau)

关于具有最近一小时值的 Java 计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38240062/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com