【工具册】- IDEA 插件找不到?看这里!那就自己敲一个!
小伙伴你是否想亲手写一个插件,或者你是否有一些插件的想法,但是找不到插件。那就自己实现一个吧
【JDK源码笔记】- 快进来!花几分钟看一下 ReentrantReadWriteLock 的原理!
在看完 ReentrantLock 之后,在高并发场景下 ReentrantLock 已经足够使用,但是因为 ReentrantLock 是独占锁,同时只有一个线程可以获取该锁,而很多应用场景都是读多写少,这时候使用 ReentrantLock 就不太合适了。读多写少的场景该如何使用?在 JUC 包下同样提供了读写锁 ReentrantReadWriteLock 来应对读多写少的场景。
【JDK源码笔记】- 不能再被问住了!ReentrantLock 源码、画图一起看一看!
在阅读完 JUC 包下的 AQS 源码之后,其中有很多疑问,最大的疑问就是 state 究竟是什么含义?并且 AQS 主要定义了队列的出入,但是获取资源、释放资源都是交给子类实现的,那子类是怎么实现的呢?
老大说新项目的结构和 xxx 项目一样就可以了,我 ……
又要开发新项目了,还是创建新项目,怎么办?老大说按照 xxx 项目的结构创建一个新项目就可以了。
【JDK源码笔记】- 别走!这里有个笔记:图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)
AbstractQueuedSynchronizer 抽象队列同步器,简称 AQS 。是在 JUC 包下面一个非常重要的基础组件,JUC 包下面的并发锁 `ReentrantLock` `CountDownLatch` 等都是基于 AQS 实现的。所以想进一步研究锁的底层原理,非常有必要先了解 AQS 的原理。
【JDK源码笔记】- JUC 包下工具类,它的名字叫 LockSupport !你造么?
LockSupport 是 JUC 中常用的一个工具类,主要作用是挂起和唤醒线程。在阅读 JUC 源码中经常看到,所以很有必要了解一下。
【JDK源码笔记】- JDK 8 新增的 LongAdder,得过来看一下!
在介绍 AtomicInteger 时,已经说明在高并发下大量线程去竞争更新同一个原子变量时,因为只有一个线程能够更新成功,其他的线程在竞争失败后,只能一直循环,不断的进行 CAS 尝试,从而浪费了 CPU 资源。而在 JDK 8 中新增了 LongAdder 用来解决高并发下变量的原子操作。
【JDK源码笔记】- 请介绍下你了解的ThreadLocal,它的底层原理!
什么是红黑树?在HashMap中是怎么应用的?
【JDK源码笔记】- 从JUC源码看CAS,我做了个笔记 ......
JUC包下大量使用了CAS,工作和面试中也经常遇到CAS,包括说到乐观锁,也不可避免的想起CAS,那CAS究竟是什么?
【JDK源码笔记】- HashMap红黑树
什么是红黑树?在HashMap中是怎么应用的?
【JDK源码笔记】- HashMap扩容
HashMap初始化参数, 底层实现原理, put()流程, resize()扩容流程等源码阅读记录 ...
【JDK源码笔记】- HashMap的初始化
HashMap初始化参数, 底层实现原理, put()流程, resize()扩容流程等源码阅读记录 ...