10 2019 档案
摘要:Synchronized 无锁,偏向锁,轻量级锁 ,重量级锁 偏向锁:对象头存储线程ID,可重入(根据线程ID判断)指的就是,把markword的线程ID改为自己线程ID的过程 偏向锁不可重偏向 批量偏向 批量撤销 轻量级锁:复制对象头到Lock Record 记录锁信息,拥有锁 复制的Lock R
阅读全文
摘要:栈(stack)又称堆栈 是限定只在表尾进行插 入或删除操作的线性表。 栈S = ( a1 , a2 , …,an ) 是按a1 , a2 , …,an次序进栈的,a1为栈底元素,an 为栈顶元素。 栈的修改是按先进后出原则进行的,所以栈又称 后进先出(Last In First Out)的线性表。
阅读全文
摘要:队列 是一种先进先出(FIFO)线性表。只允许在 其一端删除元素,即队头(front),只允许在其另一 端插入元素,即队尾(rear)。 入队时需先修改入队指针(队尾指针) rear = = (rear +1)% QueueMaxSize 出队时需要修改队头指针 front == (front +1
阅读全文
摘要:线性关系: 除了第一个数据元素与最后那个数据元素外,其余每个元素有且仅有一个直接前驱元素,有且仅有一个直接后继元素,数据元素之间存在着一对一的关系,我们将这种逻辑 关系称为线性关系。 线性表: 线性表(Linear List)是具有相同特性的数据元素的一个有限序列 ,数据元素直接有元素关系(前驱后继
阅读全文
摘要:JDK1.7以前的HashMap jdk1.7中,当冲突时,在冲突的地址上生成一个链表,将冲突的元素的key,通过equals进行比较,相同即覆盖,不同则添加到链表上,此时如果链表过长,效率就会大大降低,查找和添加操作的时间复杂度都为O(n);但是在jdk1.8中如果链表长度大于8,链表就会转化为
阅读全文
摘要:红黑树 是一种平衡的二叉查找树,说他平衡的意思是他不会变成“瘸子”,左腿特别长或者右腿特别长。 特性: 1. 节点是红色或者黑色 2. 根节点是黑色 3. 每个叶子的节点都是黑色的空节点(NULL) 4. 每个红色节点的两个子节点都是黑色的。 5. 从任意节点到其每个叶子的所有路径都包含相同的黑色节
阅读全文
摘要:平衡二叉树: 它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和右子树的深度(高度)之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。 一棵AVL树有如下必要条件:
阅读全文
摘要:树 是由n≥0 个结点组成的有穷集合以及结点之间关系组成的集合构成的结构,是一种一对多的数据结构。 特点: 1. 有且仅有一个结点没有前驱结点,该结点为树的根结点。 2. 除了根结点外,每个结点有且仅有一个直接前驱结点。 3. 包括根结点在内,每个结点可以有多个后继结点。 树的术语: 1. 结点的度
阅读全文
摘要:存入的数据过多的时候,尤其是需要扩容的时候,在并发情况下是很容易出现问题. resize函数: 并发导致死循环: https://blog.csdn.net/z69183787/article/details/64920074?locationNum=15&fps=1
阅读全文