摘要:
volatile变量两大特性: 1)线程可见性 2)禁止指令重排序 内存屏障: volatile变量的汇编代码中,在变量赋值之后,执行了一个lock开头的指令,lock指令使本cpu的cache写入内存,同时使其他cpu中缓存失效,这使得volatile变量的修改对其他cpu立即可见。内存屏障同时起 阅读全文
摘要:
HashMap用一个Node数组保存所有的k-v对,数组中的一个位置被称为bucket,一个bucket中的第一个Node(也就是在Node数组中通过下标能访问到的那一个)是一个单链表或者一棵红黑树的根节点,所有被hash到同一个bucket的k-v对被保存在这个单链表或红黑树中(取决于同一个buc 阅读全文