Jing

加油,永远不要觉得别人望尘莫及,要做的,只是每天进步一点点!

CountDownLatch源码浅析

目录 成员变量 构造方法 线程等待 countDown方法 getCount方法 CountDownLatch允许一个或多个线程等待其他线程完成操作,基于对共享锁的获取来实现,获取到共享锁,说明线程不再需要等待,未获取到,说明线程仍然需要等待。 成员变量 private ...

2018-10-26 12:29:07

阅读数 28

评论数 0

CyclicBarrier源码浅析

目录 简述 成员变量 等待解除阻塞 重置 获取当前阻塞的线程个数 简述 阻塞多个线程,直到阻塞的线程个数达到一定条件,则唤醒所有阻塞的线程,并由唤醒的线程执行任务。   成员变量 // 用于线程安全的锁 private final ReentrantLock ...

2018-10-23 18:29:39

阅读数 25

评论数 0

Retrofit源码浅析

目录 创建Retrofit 创建代理类 创建ServiceMethod 解析注解 创建CallAdapter 创建Converter 创建Call请求 创建OkHttpCall对象 ServiceMethod的adapt方法 执行网络请求 构建网络请求 解析响应 创建Re...

2018-10-15 22:05:56

阅读数 35

评论数 0

otto 源码浅析

目录 otto简单使用说明 Bus的构造方法 Bus的register方法 findAllProducers dispatchProducerResultToHandler findAllSubscribers Bus的post方法 Bus的unregister方法 otto简单...

2018-10-11 20:39:40

阅读数 40

评论数 0

PriorityBlockingQueue简述

一个支持优先级排序的无界阻塞队列   PriorityBlockingQueue可以理解成是对PriorityQueue加上了Lock功能,所以不再分析具体源码。

2018-10-04 17:13:05

阅读数 80

评论数 0

LinkedBlockingQueue源码浅析

一个由链表结构组成的有界阻塞队列   成员变量 // 允许的最大容量 private final int capacity; // 当前节点个数,因为有两个锁,所以节点个数采用原子类 private final AtomicInteger count = ...

2018-10-04 17:12:30

阅读数 33

评论数 0

ArrayBlockingQueue源码浅析

一个由数组结构组成的有界阻塞队列   构造方法 public ArrayBlockingQueue(int capacity) { this(capacity, false); } // 初始化数组,实例化ReentrantLock和两个等待队列n...

2018-10-04 17:07:36

阅读数 67

评论数 0

Hashtable源码浅析

Hashtable是并发安全的hash表,结构是数组+链表。   put // 添加 key value public synchronized V put(K key, V value) { // Make sure the value is not nu...

2018-10-04 12:21:41

阅读数 72

评论数 0

PriorityQueue源码浅析

优先级队列,基于数组的树形结构。   添加元素 // 添加元素 public boolean add(E e) { return offer(e); } // 添加元素 public boolean offer(E e) { ...

2018-10-04 12:17:27

阅读数 22

评论数 0

LinkedList源码浅析

节点Node:静态内部类 // 节点类,有值、前驱、后继 private static class Node<E> { E item; Node<E> nex...

2018-10-04 12:09:58

阅读数 23

评论数 0

Vector与Stack简述

  Vector: 线程安全,默认容量为10,容量增长量默认为0,每次进行扩容是旧的容量乘以2。支持null的添加。基于数组实现。   Stack: Stack继承Vector的栈结构。...

2018-10-04 11:54:04

阅读数 84

评论数 0

ArrayList源码浅析

  动态数组的列表   添加元素 // 增加一个元素 public boolean add(E e) { // 确保数组容量足够 ensureCapacityInternal(size + 1); // Increments modCount!! /...

2018-10-04 11:49:50

阅读数 33

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭