- 博客(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 183
原创 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 229
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人