待完成
...
JAVA并发编程常识
1 JVM内存模型
堆:
所有对象全部放在共享堆空间中
对象的属性在共享堆空间内
内存单字节对齐,short不变
栈:
每个线程都有独立的线程栈空间
线程栈只存基本类型和对象地址......
Synchronized锁的优化
0 前言
JDK1.5之前synchronized是一个重量级锁,相对于j.u.c.Lock,它会显得那么笨重。
随着Javs SE 1.6对synchronized进行的各种优化后,syn......
三把锁:synchronized 、ReentrantLock、ReadWriteLock 概述
synchronized
synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性。
Java中每一个对......
wait和notify
线程状态图
开局先奉上这张线程状态图,个人觉得画的不错
几点结论
使用 wait ,notify 和 notifyAll 时需要先对调用对象加锁。
调用 wait 方法后,线程状态有 R......
一致性哈希算法
在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景。
场景描述
假设,我们有三台缓存服务器,用于缓存图片。
我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存......
一致性协议之 ZAB
前言
在前面的文章中,我们说了很多一致性协议,比如 Paxos,Raft,2PC,3PC等等,今天我们再讲一种协议,ZAB 协议,该协议应该是所有一致性协议中生产环境中应用最多的了。为什么呢......
Raft 算法
前言
我们之前讲述了 Paxos 一致性算法,虽然楼主尝试用最简单的算法来阐述,但仍然还是有点绕。楼主最初怀疑自己太笨,后来才直到,该算法的晦涩难懂不是只有我一个人这么认为,而是国际公认!
......
一致性算法 Paxos
前言
世界上只有一种一致性算法,出自一位 google 大神之口。
同时,Paxos 也是出名的晦涩难懂,推理过程极其复杂。楼主在尝试理解 Paxos 算法的过程中历经挫折。
今天,楼主不会......
一致性协议之 3PC
前言
我们说为了实现 BASE 理论,需要在可用性和一致性之间找到一个合适的一致性理论,于是,我们在上篇文章中了解了 2PC 理论,也就是两阶段提交,二阶段提交原理简单,实现方便,但是缺点则......
一致性协议之 2PC
前言
为了使系统尽量能够达到 CAP,于是有了 BASE 协议,而 BASE 协议是在可用性和一致性之间做的取舍和妥协。
人们往往需要在系统的可用性和数据一致性之间反复的权衡。于是呢,就产生......
BASE 理论
BASE 是 Basically Available(基本可用) 、Soft-state(软状态) 和 Eventually Consistent(最终一致性) 三个短语的缩写。
BASE......
CAP 定理
在弄清楚这个问题之前,我们先了解一下什么是分布式的CAP定理。
根据百度百科的定义,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availabil......