浅聊一下java中的八股文

技术主题

工作了也快三年了,无论是之前参加校招面试,还是参加社招面试,其实都离不开围绕以后端为中心得一些技术考察点,现在业界内都称为八股文,我个人对八股文的认识,更喜欢结合工作中遇到的问题来讲,也就是能把八股文用到实际的工作中来进行深入。

实际例子

缓存穿透的现象

上游要查找一个值,然后这个值在缓存没有,在我们的mysql的数据库里面也没有,从而每次进行给mysql压力,导致mysql压力大,mysql压力大直接导致的是,接口的响应也会有所下降。

布隆过滤器就是一种解决缓存穿透的方案,如果在布隆过滤器里面没有的话,在mysql一定也没有,如果在布隆过滤器里面有,mysql不一定有。

所谓布隆过滤器,就是一种数据结构,它是由一个长度为m bit的位数组与n个hash函数组成的数据结构,位数组中每个元素的初始值都是0。在初始化布隆过滤器时,会先将所有key进行n次hash运算,这样就可以得到n个位置,然后将这n个位置上的元素改为1。这样,就相当于把所有的key保存到了布隆过滤器中了。

聊一下公平锁和非公平锁

公平锁和非公平锁是指在多线程环境下,获取锁的顺序是否遵循先来先服务的原则。

公平锁:按照申请锁的顺序依次获取锁,即先进先出,保证所有线程公平地获取锁。如果一个线程没有获得锁,它会排队等待,直到轮到它获取锁为止。公平锁可以避免“饥饿”现象,即某些线程长时间等待获取锁。

非公平锁:当锁空闲时,新来的线程可以直接获取锁&

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhiguoXue_IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值