最新今夜和学妹的深入交流,我彻底掌握了ReadWriteLock精髓!(1),java工程师面试笔试题

笔者福利

以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。

有了这个,面试踩雷?不存在的!

回馈粉丝,诚意满满!!!




本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

互联网的并发场景大多是读多写少。所以缓存技术使用普遍。JUC也提供了读写锁-ReadWriteLock。

那你说说什么是读写锁?

读写锁一般遵循以下设计原则:

  • 允许多个线程同时读共享变量

  • 只允许一个线程写共享变量

  • 如果一个写线程正在执行写操作,此时禁止读线程读共享变量。

知道读写锁与互斥锁的区别吗?

读写锁允许多个线程同时读共享变量,而互斥锁不允许。这也是读多写少时读写锁的优势。

读写锁的写是互斥的,当一个线程在写共享变量时,其他线程不允许执行写或读。

知道如何使用ReadWriteLock实现一个缓存吗?

声明了一个Cache<K, V>类,其中类型参数K代表缓存里key的类型,V代表缓存里value的类型。

你是怎么解决缓存数据的初始化问题的?

这得看源数据量大不大了。

若源数据量不大,采用一次性加载,方便简单,在应用启动时把源数据全部查询出来并put()。

若源数据量很大,就得按需加载,即懒加载。当应用查询缓存,并且数据不在缓存时,才触发加载源数据进缓存。

代码如下:

线程、数据库、算法、JVM、分布式、微服务、框架、Spring相关知识

一线互联网P7面试集锦+各种大厂面试集锦

学习笔记以及面试真题解析

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

需要这份系统化的资料的朋友,可以点击这里获取

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值