并发编程(二)JMM模型


什么是线程进程是系统分配资源的基本单位,线程是CPU调度的基本单位,每个进程至少有一个线程,线程寄生在进程当中,每个线程都有一个程序计数器(保持下个要执行的指令),一组寄存器(保存当前线程中的工作变量),堆栈(记录执行历史,每一帧中保存了一个已调用但未返回的方法)。线程分两类:用户级线程(userl

并发编程(一)计算机理论模型


计算机理论模型多CPU架构缓存一致性协议在多处理器系统中,每个处理器都有自己的高速缓存,而它们又共享同一主内存(MainMemory)。基于高速缓存的存储交互很好地解决了处理器与内存的速度矛盾,但是也引入了新的问题:缓存一致性(CacheCoherence)。当多个处理器的运算任务都涉及同一块主内存

数据结构与算法(十四)哈夫曼树


问题给定一串字符串:abcd,如何压缩?我们知道每个字节在计算机中占8bit,假使我们定义二进制00表示a,01表示b,10表示c,11表示d那么abcd转为二进制后就变成了00011011,看,原本占4*8=32bit的一串字符串,现在只占8bit了,是不是压缩了4倍,nice!给定一串字符串:a

数据结构与算法(十三)B+树


性质M阶的B+数据每个结点最多存储m-1个元素每个结点最多有m个子结点根结点要么为空,要么为独根,否则至少有2个子结点除根节点外,每个结点至少有m/2个子结点,除不尽则往上取整,7/2=3.5-->4叶子结点的高度一致只有叶子结点才存储数据叶子结点之间通过指针相连,提高区间的访问性能图示构建过

数据结构与算法(十二)红黑树


数据结构可视化学习网址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html性质1.每个结点不是红色就是黑色2.每个叶子节点都是黑色的空节点(NIL),根结点都是黑色3.不可能有相连的红色的结点。4.每个结点到其可达叶子结点的所