摘要: 一、 快速定义 (1)布隆过滤器实现的功能类似与Set集合,用于判断容器中数据是否存在。 (2)当Set集合特别大时,可以使用Bloom过滤器替代Set集合节省内存空间。 (3)与Set集合不同的是,布隆过滤器判断不存在时则一定不存在;判断存在时,则不一定存在(误判是一个小概率事件,取决与Bloom 阅读全文
posted @ 2021-07-06 12:15 Jaco32 阅读(184) 评论(0) 推荐(0)
摘要: 在分布式系统高并发场景下,用于控制流量大小,防止由于流量过大导致服务器宕机。常用的限流算法如下: 一、滚动窗口 又称计算器限流法,包括两种参数,即窗口时间大小(windows_sieze)和限流次数(count),假设windows_size=5秒,count=10,即每个窗口时间5秒内,最大的访问 阅读全文
posted @ 2021-07-06 12:13 Jaco32 阅读(502) 评论(0) 推荐(0)
摘要: 一、悲观锁和乐观锁概念 悲观锁和乐观锁是一种广义的锁概念,Java中没有哪个Lock实现类就叫PessimisticLock或OptimisticLock,而是在数据并发情况下的两种不同处理策略。 针对同一个数据并发操作,悲观锁认为自己在使用数据时,一定有其它的线程操作数据,因此获取数据前先加锁确保 阅读全文
posted @ 2021-07-05 15:16 Jaco32 阅读(48) 评论(0) 推荐(0)