分类 JDK 下的文章
StampedLock 的内部实现是基于 CLH 锁的。CLH 锁是一种自旋锁,自旋即不断的循环,它的操作是非常占用 CPU 的,因为它会一直循环在那里看自旋锁的保持者是否释放了锁。但它能够保证...
前面一篇文章学习了`StampedLock`的简单使用,后来搜索资料时发现有人说`StampedLock`是不可重入的锁,于是随便写了个 Demo 验证了一把发现的确如此:
```java
im...
前面一片文章介绍过了`ReadWriteLock`读写锁的使用,虽然读写锁分离了读和写的功能,使得读与读之间可以完全并发,但是读与写之间还是冲突的。
读锁会完全阻塞写锁,它使用的依然是悲观的锁策...
在 JDK 并发包中,除了常用的哈希表外,还实现了一种能够在高并发中保持有序性的数据结构:`跳表`。
之前在看《Redis设计与实现》一书时,了解到`Redis`实现中也用到了该数据结构,但是该...
####概述
Java 给我们提供了多种线程池的实现,程序员只管通过`Executors`类直接创建即可,但是其工作原理还是有必要知道的,昨天面试时就遇到了这个问题,由于以前只是大致了解过其原理...
####HashMap
线程不安全,可以存储`key`或`value`为`null`的键值对。
####HashTable
直接采用`synchronized`对`put`方法加锁,线程安全,但...