阅读 10

Java知识积累-数据库

Java知识积累-数据库篇

学习资料-《面试必备之乐观锁与悲观锁》

学习课程-《深入浅出线程安全 ~ 从原子性到手写实现JAVA锁》

1. 锁

锁在当前高并发业务繁多的场景下,要求会逐渐增高,本次整理将从上次面试被问到的锁和索引先展开

乐观锁

  • 假装没人看到,先用着
  • 如果要提交修改,再看数据有无被修改,是否冲突

实现

  1. 版本号
  2. CAS(compare and swap)

悲观锁

  • 假设冲突常在
  • 于是:要进行操作?先上锁
  • 能上锁,才能改
  • 上锁失败,则该值正在被修改,需等待或抛异常

实现

Java中Synchronized同步锁,数据库中读写锁


2. 索引

3. 事务

ACID

关注下面的标签,发现更多相似文章
评论