jdk
文章平均质量分 94
0xZzzz
目前就职于阿里,从事阿里新零售业务的相关开发工作,开源爱好者,喜欢阅读优秀开源框架的源码,热衷于研究各种技术,致力于成为一名有腔调的工程师
展开
-
Java8 HashMap源码解读
我们先来阅读一下 HashMap 的注释来相关介绍:Map 接口的基于哈希表的实现。此实现提供所有可选的映射操作,并允许 null 值和 null 键。(HashMap 类与 Hashtable 致等效,不同之处在于它不同步并允许为null。)类不能保证映射的顺序。特别是,它不能保证顺序会随着时间的推移保持恒定。 该实现为基本操作(get 和 put)提供了恒定时间的性能,假设哈希函数将元素正确地分散在存储桶中。集合视图上的迭代所需的时间与 HashMap 实例的“容量”(存储桶数)及其大原创 2020-12-25 18:00:48 · 406 阅读 · 1 评论 -
AQS(AbstractQueuedSynchronizer)源码解析(独占锁)
JDK AQS独占锁部分的源码详解,详细介绍了 AQS 的 CLH 队列的入队出队操作,并对队列中节点的状态流转做详细的分析和解释原创 2018-03-01 00:30:06 · 3971 阅读 · 0 评论 -
类加载过程结合Spring案例分析
案例最近在分析一个有关类加载过程的问题,代码如下:@Componentpublic class SpringContextUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void set...原创 2019-01-27 17:30:24 · 2194 阅读 · 0 评论 -
类加载过程整理
各种调用初始化顺序我们用一个小demo来验证一下各种调用的初始化顺序:demo1public class Test { public static void main(String[] args) { new C1(); }}class C1 { public static C2 c2 = new C2(); public C3 ...原创 2019-01-26 20:29:16 · 787 阅读 · 2 评论 -
CyclicBarrier 源码解析
CyclicBarrier 源码详解原创 2018-11-09 11:42:12 · 526 阅读 · 0 评论 -
ReentrantReadWriteLock 源码解析
ReentrantReadWriteLock 读写锁源码详细分析原创 2018-04-15 20:39:47 · 752 阅读 · 0 评论 -
线程池 ThreadPoolExecutor 源码解析
ThreadPoolExecutor 源码详解原创 2018-02-25 15:30:07 · 1604 阅读 · 0 评论 -
CountDownLatch 源码解析
CountDownLatch 源码详解原创 2018-04-04 10:20:16 · 1391 阅读 · 1 评论 -
ReentrantLock 源码解析
ReentrantLock 源码详解,结合 AQS 源码分析 ReentrantLock 的运行流程,包括 lock 和 unLock 的流程,公平锁非公平锁的原理等。原创 2018-04-02 09:29:30 · 1197 阅读 · 0 评论 -
Semaphore 源码解析
Semaphore 源码详解原创 2018-04-09 11:58:53 · 1093 阅读 · 0 评论 -
AQS(AbstractQueuedSynchronizer)源码解析(ConditionObject)
JDK AQS ConditionObject 源码详细分析,包括条件队列和同步队列的转换、中断处理、await 方法和 signal 方法的源码详解。原创 2018-03-30 18:15:52 · 4193 阅读 · 3 评论 -
AQS(AbstractQueuedSynchronizer)源码解析(共享锁)
JDK AQS 共享锁部分的源码详解,详细介绍了 AQS 共享锁的加锁和释放流程原创 2018-03-23 16:01:01 · 4293 阅读 · 1 评论 -
ArrayBlockingQueue源码解析
正文ArrayBlockingQueue,命名上就能看出其含义,基于数组的FIFO阻塞队列,由Doug Lea大神开发,在jdk1.5版本跟我们见面,关于阻塞队列的应用这里不多赘述,相信大家都有所了解,我们直接来看源码实现。首先我们来看内部的成员变量: ArrayBlockingQueue:final Object[] items; //用于存储队列内部的元素int takeIndex原创 2018-03-08 21:37:44 · 961 阅读 · 4 评论