![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程以及高并发
文章平均质量分 88
nonking
这个作者很懒,什么都没留下…
展开
-
最强的缓存数据库一致性技术方案
一、背景面对高qps场景,单纯mysql的技术架构容易出现瓶颈,常见的解决方案是引入分布式缓存挡住大部分读流量,但增加了依赖项则意味着需要考虑的异常场景就更多,最典型的莫过于如果保证缓存和数据库一致性。二、缓存一致性问题原因并发的场景下,导致读取老的 DB 数据,更新到缓存中。 缓存和 DB 的操作,不在一个事务中,可能只有一个操作成功,而另一个操作失败,导致不一致。三、业内常用方案 (Cache Aside Pattern)应用程序先从cache取数据,没有得到,则从数据库中取原创 2021-11-06 17:34:34 · 548 阅读 · 0 评论 -
JUC 面试题总结
1.什么是 CAS?CAS 表示 Compare And Swap,比较并交换,CAS 需要三个操作数,分别是内存位置 V、旧的预期值 A 和准备设置的新值 B。CAS 指令执行时,当且仅当 V 符合 A 时,处理器才会用 B 更新 V 的值,否则它就不执行更新。但不管是否更新都会返回 V 的旧值,这些处理过程是原子操作,执行期间不会被其他线程打断。在 JDK 5 后,Java 类库中才开始使用 CAS 操作,该操作由 Unsafe 类里的compareAndSwapInt等几个方法包装提供。H..原创 2021-06-23 00:21:00 · 1009 阅读 · 0 评论 -
Java中synchronized关键字
1.介绍synchronized块是Java提供的一种原子性内置锁,Java中的每个对象都可以把它当做一个同步锁来使用,这些Java内置的使用者看不到的锁被称为内置锁,也成为了监视器锁。线程的执行代码在进入synchronized代码块前会自动获取内部锁,这时候其他线程访问该同步代码块时会被阻塞挂起。拿到内部锁的线程会在正常退出同步代码块或者抛出异常后或者在同步块内调用了该内置锁资源的wait...转载 2019-04-28 11:57:04 · 265 阅读 · 0 评论