
juc
热心的大肚皮
努力打码
展开
-
ConcurrentHashMap-深入理解(优化篇)
ConcurrentHashMap-深入理解(一)jdk1.8主要改动及使用原因为何用ConcurrentHashMap在并发编程中使用HashMap可能会导致死循环,而使用线程安全的HashTable效率又低下。在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。参照对象为jdk1.7的Concurrent...原创 2019-08-30 16:06:10 · 460 阅读 · 0 评论 -
ConcurrentHashMap-深入理解(常量及变量篇)
常量/** * 最大容量 */private static final int MAXIMUM_CAPACITY = 1 << 30;/** * 默认容量 */private static final int DEFAULT_CAPACITY = 16;/** * 下面3个,在1.8的HashMap中也有相同的常量 * 一个hash桶中hash...原创 2019-08-30 16:21:33 · 858 阅读 · 1 评论 -
JUC中的AQS
AQS简介java.util.concurrent中有许多可阻塞的类,如ReentrantLock、Semaphore、ReentrantReadWriteLock、CountDownLatch、SynchronousQueue和FutureTask等,这些阻塞类有一个共同点就是都是基于AQS构建的。AQS(AbstractQueuedSynchronizer)即队列同步器。是用来构建锁或者...原创 2019-08-30 17:16:12 · 346 阅读 · 0 评论