某日事不多,点开sentinel-core代码学习,想看看qps、rt等是怎么统计的。
点开StatisticSlot类,发现里面是用DefaultNode增加qps,然后尝试点开
DefaultNode->StatisticNode->ArrayMetric->MetricsLeapArray->LeapArray...
晕...怎么这么多类- -||| 中间还有MetricBucket、LongAdder...
其中LeapArray类有个属性AtomicReferenceArray> array,表示这个jdk类也是第一次见orz
看注释写道Using sliding window algorithm,使用了滑动窗口算法。可是这代码太深奥T_T,表示打扰了,还是洗洗睡了Zzz....
--------------------------------------------------------------------------------------------------------------------------------------------
言归正传,虽然sentinel中的代码还看不懂,通过滑动窗口几个字,百度了解一下:)
找到一个经典的问题:
(一)给定一组大小为n的整数数组,计算长度为k的子数组和的最大值。
比如
数组为:1,2,3,4
最大值为:3+4=7
数组为:-1,4,7,-3,8,5,-2,6
最大值为&#