【JDK源码笔记】- 不能再被问住了!ReentrantLock 源码、画图一起看一看!
【JDK源码笔记】- 不能再被问住了!ReentrantLock 源码、画图一起看一看!
|
在阅读完 JUC 包下的 AQS 源码之后,其中有很多疑问,最大的疑问就是 state 究竟是什么含义?并且 AQS 主要定义了队列的出入,但是获取资源、释放资源都是交给子类实现的,那子类是怎么实现的呢?
【JDK源码笔记】- 别走!这里有个笔记:图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)
【JDK源码笔记】- 别走!这里有个笔记:图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)
|
AbstractQueuedSynchronizer 抽象队列同步器,简称 AQS 。是在 JUC 包下面一个非常重要的基础组件,JUC 包下面的并发锁 `ReentrantLock` `CountDownLatch` 等都是基于 AQS 实现的。所以想进一步研究锁的底层原理,非常有必要先了解 AQS 的原理。
【JDK源码笔记】- JUC 包下工具类,它的名字叫 LockSupport !你造么?
【JDK源码笔记】- JUC 包下工具类,它的名字叫 LockSupport !你造么?
|
LockSupport 是 JUC 中常用的一个工具类,主要作用是挂起和唤醒线程。在阅读 JUC 源码中经常看到,所以很有必要了解一下。
【JDK源码笔记】- JDK 8 新增的 LongAdder,得过来看一下!
【JDK源码笔记】- JDK 8 新增的 LongAdder,得过来看一下!
|
在介绍 AtomicInteger 时,已经说明在高并发下大量线程去竞争更新同一个原子变量时,因为只有一个线程能够更新成功,其他的线程在竞争失败后,只能一直循环,不断的进行 CAS 尝试,从而浪费了 CPU 资源。而在 JDK 8 中新增了 LongAdder 用来解决高并发下变量的原子操作。
【JDK源码笔记】- 请介绍下你了解的ThreadLocal,它的底层原理!
【JDK源码笔记】- 请介绍下你了解的ThreadLocal,它的底层原理!
|
什么是红黑树?在HashMap中是怎么应用的?
【JDK源码笔记】- 从JUC源码看CAS,我做了个笔记 ......
【JDK源码笔记】- 从JUC源码看CAS,我做了个笔记 ......
|
JUC包下大量使用了CAS,工作和面试中也经常遇到CAS,包括说到乐观锁,也不可避免的想起CAS,那CAS究竟是什么?
【JDK源码笔记】- HashMap红黑树
【JDK源码笔记】- HashMap红黑树
|
前言在阅读HashMap源码时,会发现在HashMap中使用了红黑树,所以需要先了解什么是红黑树,以及其原理。从而再进一步阅读HashMap中的链表到红黑树的转换,红黑树的增删节点等。什么是红黑树?在HashMap中是怎么应用的?什么是红黑树?红黑树(英语:Red–black tree)是一种自平衡
【JDK源码笔记】- HashMap扩容
【JDK源码笔记】- HashMap扩容
|
HashMap初始化参数, 底层实现原理, put()流程, resize()扩容流程等源码阅读记录 ...
【JDK源码笔记】- HashMap的初始化
【JDK源码笔记】- HashMap的初始化
|
HashMap初始化参数, 底层实现原理, put()流程, resize()扩容流程等源码阅读记录 ...