2021-01-23 笔记

1、中断异常设计出来时做什么用的

怎么处理这种异常

2、author授权是做什么用的,有了解吗

3、http和https

4、threadlocal

5、lock sync cas

6、lock内面的condition的signal方法是干什么用的

7、数据库悲观锁、乐观锁,分布式锁怎么做

8、mysql的唯一索引和联合索引底层实现和区别

9、B树和B+树数据结构,往mysql插入一条数据,B+树内怎么实现

7. 如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值

10、gc算法和gc回收器,讲一下G1回收器

11、Java11了解吗,新出来哪些功能

12、设计一个高性能的秒杀系统


布隆过滤器:

种空间效率高的概率型数据结构。它专门用来检测集合中是否存在特定的元素。听起来是很稀松平常的需求,为什么要使用BF这种数据结构呢?

设计思想

  BF是由一个长度为m比特的位数组(bit array)与k个哈希函数(hash function)组成的数据结构。位数组均初始化为0,所有哈希函数都可以分别把输入数据尽量均匀地散列。

当要插入一个元素时,将其数据分别输入k个哈希函数,产生k个哈希值。以哈希值作为位数组中的下标,将所有k个对应的比特置为1。

  当要查询(即判断是否存在)一个元素时,同样将其数据输入哈希函数,然后检查对应的k个比特。如果有任意一个比特为0,表明该元素一定不在集合中。如果所有比特均为1,表明该集合有(较大的)可能性在集合中。为什么不是一定在集合中呢?因为一个比特被置为1有可能会受到其他元素的影响,这就是所谓“假阳性”(false positive)。相对地,“假阴性”(false negative)在BF中是绝不会出现的。

缓存击穿:

秒杀一件商品时,缓存失效,导致大量用户请求到达数据库,通过分布式锁并采用阻塞式方法

缓存穿透:

使用布隆过滤器

缓存雪崩:

过期时间添加随机值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 2020年,老何跟我说的最多的就是:你为什么有这么多的“问题”和“但是”,你怎么就不能用yes和how呢? “你总...
    丫蛋皮蛋阅读 243评论 0 0
  • 今天是什么日子:产后1年200+59天! 起床:5.30 就寝:9 心情:平和 今日体重:53公斤 理想体重:45...
    是春来燕归呀阅读 310评论 0 0
  • 二十一世纪旧体诗词风骚榜[https://www.jianshu.com/c/da968ae2d498] 上榜絮语...
    张成昱阅读 805评论 1 24
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 8,035评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 11,015评论 0 11

友情链接更多精彩内容