2.19 复习记录
#牛客AI配图神器#LC:前K个高频元素 LRU 二叉树直径
黑马点评:①使用乐观锁CAS解决库存超卖问题(版本号,分段锁)(更新数据可用乐观锁)
②使用synchronized解决一人一单问题
1.对UserId进行toString().intern()加锁
2.注意先synchronized再开启事务
3.注意封装方法调用后Spring事务的作用范围,使用AopContext获取代理对象
4.集群部署时,由于有多个JVM,JVM自带的锁会失效。
③使用redis的set nx ex获取锁,del释放锁方案来实现分布式锁
④业务阻塞可能导致del释放其他线程的锁,使用UUID+ThreadID标识锁,删除时先get判断再del
⑤由于get和set分两步且操作的是同一数据库,故需要添加事务,redis自带的事务不具备传统意义上的原子 性,所以使用lua脚本实现一行代码完成操作,确保原子性
八股:复习redis事务特性,Java并发编程&JUC
黑马点评:①使用乐观锁CAS解决库存超卖问题(版本号,分段锁)(更新数据可用乐观锁)
②使用synchronized解决一人一单问题
1.对UserId进行toString().intern()加锁
2.注意先synchronized再开启事务
3.注意封装方法调用后Spring事务的作用范围,使用AopContext获取代理对象
4.集群部署时,由于有多个JVM,JVM自带的锁会失效。
③使用redis的set nx ex获取锁,del释放锁方案来实现分布式锁
④业务阻塞可能导致del释放其他线程的锁,使用UUID+ThreadID标识锁,删除时先get判断再del
⑤由于get和set分两步且操作的是同一数据库,故需要添加事务,redis自带的事务不具备传统意义上的原子 性,所以使用lua脚本实现一行代码完成操作,确保原子性
八股:复习redis事务特性,Java并发编程&JUC
全部评论
接offer
相关推荐
昨天 18:13
门头沟学院 golang 点赞 评论 收藏
分享
点赞 评论 收藏
分享
02-05 22:43
武汉大学 Java 点赞 评论 收藏
分享
26想校招上岸的菜鸟:但是不可否认的是 leader想要3个 结果投了1000个 领导筛了100个面试 当leader找到了满意的3个 让他们继续二面 但是同时 其他的97个也会让你一面 因为已经约面了总不能毁面吧 因为leader也不确定那3个能不能过后面的面试,以及来不来 因此 这97个有一部分作为那3个的后续 剩下的 就是走个过场 面完就挂 这就是我个人认为的kpi面
点赞 评论 收藏
分享
查看17道真题和解析