JAVA并发编程常识

JAVA并发编程常识

1 JVM内存模型 堆: 所有对象全部放在共享堆空间中 对象的属性在共享堆空间内 内存单字节对齐,short不变 栈: 每个线程都有独立的线程栈空间 线程栈只存基本类型和对象地址......
阅读全文
Synchronized锁的优化

Synchronized锁的优化

0 前言 JDK1.5之前synchronized是一个重量级锁,相对于j.u.c.Lock,它会显得那么笨重。 随着Javs SE 1.6对synchronized进行的各种优化后,syn......
阅读全文
wait和notify

wait和notify

线程状态图 开局先奉上这张线程状态图,个人觉得画的不错 几点结论 使用 wait ,notify 和 notifyAll 时需要先对调用对象加锁。 调用 wait 方法后,线程状态有 R......
阅读全文
一致性哈希算法

一致性哈希算法

在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景。 场景描述 假设,我们有三台缓存服务器,用于缓存图片。 我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存......
阅读全文
一致性协议之 ZAB

一致性协议之 ZAB

前言 在前面的文章中,我们说了很多一致性协议,比如 Paxos,Raft,2PC,3PC等等,今天我们再讲一种协议,ZAB 协议,该协议应该是所有一致性协议中生产环境中应用最多的了。为什么呢......
阅读全文
Raft 算法

Raft 算法

前言 我们之前讲述了 Paxos 一致性算法,虽然楼主尝试用最简单的算法来阐述,但仍然还是有点绕。楼主最初怀疑自己太笨,后来才直到,该算法的晦涩难懂不是只有我一个人这么认为,而是国际公认! ......
阅读全文
一致性算法 Paxos

一致性算法 Paxos

前言 世界上只有一种一致性算法,出自一位 google 大神之口。 同时,Paxos 也是出名的晦涩难懂,推理过程极其复杂。楼主在尝试理解 Paxos 算法的过程中历经挫折。 今天,楼主不会......
阅读全文
一致性协议之 3PC

一致性协议之 3PC

前言 我们说为了实现 BASE 理论,需要在可用性和一致性之间找到一个合适的一致性理论,于是,我们在上篇文章中了解了 2PC 理论,也就是两阶段提交,二阶段提交原理简单,实现方便,但是缺点则......
阅读全文
一致性协议之 2PC

一致性协议之 2PC

前言 为了使系统尽量能够达到 CAP,于是有了 BASE 协议,而 BASE 协议是在可用性和一致性之间做的取舍和妥协。 人们往往需要在系统的可用性和数据一致性之间反复的权衡。于是呢,就产生......
阅读全文
BASE 理论

BASE 理论

BASE 是 Basically Available(基本可用) 、Soft-state(软状态) 和 Eventually Consistent(最终一致性) 三个短语的缩写。 BASE......
阅读全文
CAP 定理

CAP 定理

在弄清楚这个问题之前,我们先了解一下什么是分布式的CAP定理。 根据百度百科的定义,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availabil......
阅读全文