- 博客(2)
- 收藏
- 关注
原创 CopyOnWriteArrayList详解
1. 并发调⽤场景下CopyOnWriteArrayList添加元素是如何保证线程安全?源码解析/**被volatile关键字修饰,保证这个数组的有序性。 */private transient volatile Object[] array;public boolean add(E e) { final ReentrantLock lock = this.lock; // 加锁 lock.lock(); try { // 获取原有数组元素 Object[] elements
2022-05-08 19:01:54 144
原创 ArrayList详解
1. 作为方法内部变量时,并发添加修改时未出现异常局部变量存在于jvm虚拟机栈中,是线程私有的。每个⽅法在执⾏时都会创建⼀个栈帧,⽤于局部变量存在于局部变量表中。2.作为类成员变量时1.多线程并发添加数据时会出现数组越界的异常private int size;public boolean add(E e) { ensureCapacityInternal(size + 1); elementData[size++] = e; return true;}从源码可以看出size 表示当前
2022-05-08 11:55:03 209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人