花费 7 ms
AQS-Condition介绍

概述   Condition的作用用一句话概括就是为了实现线程的等待(await)和唤醒(signal),多线程情况下为什么需要等待唤醒机制?原因是有些线程执行到某个阶段需要等待符合某个条件才可以继 ...

Sat Sep 05 00:12:00 CST 2020 0 1277
MESI(缓存一致性协议)

概述   由于内存的运行速度和CPU的运行速度相差太多,所以现代计算机CPU都不是直接操作内存,而是直接操作寄存器和高速缓存,如果只有一个CPU这个事情就很简单,但是如果计算机中有多个核,那每个CP ...

Tue Sep 01 05:51:00 CST 2020 0 1000
ConcurrentHashMap原理分析(三)-计数

概述   由于ConcurrentHashMap是一个高并发的集合,集合中增删就比较频繁,那计数就变成了一个问题,如果使用像AtomicInteger这样类型的变量来计数,虽然可以保证原子性,但是太 ...

Sat Sep 12 03:11:00 CST 2020 0 915
ConcurrentHashMap原理分析(二)-扩容

概述   在上一篇文章中介绍了ConcurrentHashMap的存储结构,以及put和get方法,那本篇文章就介绍一下其扩容原理。其实说到扩容,无非就是新建一个数组,然后把旧的数组中的数据拷贝到新 ...

Sat Sep 12 00:10:00 CST 2020 1 633
CAS介绍

概述   cas即(compare and swap),比较并交换,在java并发中使用非常广泛,无论是ReenterLock内部的AQS,还是各种Atomic开头的原子类,都是基于cas实现的,j ...

Thu Sep 03 23:54:00 CST 2020 0 681
LinkedBlockingQueue原理分析

概述 LinkedBlockingQueue也是一个阻塞队列,相比于ArrayBlockingQueue,他的底层是使用链表实现的,而且是一个可有界可无界的队列,在生产和消费的时候使用了两把锁,提高 ...

Mon Sep 14 19:30:00 CST 2020 0 458
ArrayBlockingQueue原理分析(一)

概述 ArrayBlockingQueue是一个阻塞队列,其实底层就是一个数组,说到底层是数组,ArrayList底层也是数组,那它其实也可以作为队列,但是是非阻塞的,那阻塞和非阻塞的区别是什么?区 ...

Sun Sep 13 08:06:00 CST 2020 0 456

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM