最新文章
-
分布式锁的由来、及Redis分布式锁的实现详解
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?今天来探讨分布式锁这个话题。 什么是分布式锁 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。 1.线程锁 主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同…... -
19本高并发编程书籍推荐
Java并发编程实战 (java并发的圣经) 多处理器编程的艺术 (并发编程的各种算法,java实现,有点难度) 并发的艺术 (多核处理器的共享内存模型中的各种算法) Java虚拟机并发编程 (jvm平台上各种语言的并发比较,如java,scala,clojure) Java并发编程的艺术 Java 7并发编程实战手册 (java中的并发编程实践,属于API工具书,指南) Java多线程编程实战指…... -
ReentrantReadWriteLock的实现原理与锁获取详解
我们继续Java多线程与并发系列之旅,之前我们分享了Synchronized 和 ReentrantLock 都是独占锁,即在同一时刻只有一个线程获取到锁。 然而在有些业务场景中,我们大多在读取数据,很少写入数据,这种情况下,如果仍使用独占锁,效率将及其低下。 针对这种情况,Java提供了读写锁——ReentrantReadWriteLock。 有点类似MySQL数据库为代表的读写分离机制,既然我…... -
详解分布式一致性ACID、CAP、BASE,以及区别
在阿里Java面试环节,经常会问CAP、BASE等相关的分布式理论,其实这些名词主要还是来自于分布式的一致性,今天主要介绍分布式一致性:强一致性、最终一致性、ACID、CAP等理论。 分布式一致性的背景 随着分布式事务的出现,传统的单机事务模型(ACID)已经无法胜任,尤其是对于一个高访问量、高并发的互联网分布式系统来说。 分布式事务的一致性,请参考:分布式事务的解决方案,以及原理、总结 如果我们…... -
最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁
在Java并发场景中,会涉及到各种各样的锁,比如:4种常用Java线程锁的特点,性能比较、使用场景,这些锁有对应的种类:公平锁,乐观锁,悲观锁等等,这篇文章来详细介绍各种锁的分类: 公平锁/非公平锁 可重入锁 独享锁/共享锁 乐观锁/悲观锁 分段锁 自旋锁 乐观锁 VS 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度,在Java和数据库中都有此概念对应的实际应用。 1.…...













