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
全部评论
接offer
点赞 回复 分享
发布于 02-19 20:41 广东

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务