![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java源码学习
文章平均质量分 93
椿尼
但行好事,莫问前程
展开
-
细品ArrayList扩容机制
之前学习Java基础知识的时候了解到ArrayList底层是数组实现的,默认的初始化容量为10,且有自动扩容的机制。现在通过代码来研究下实现的细节。ArrayList扩容现象演示首先通过简单的测试代码看看初始化及扩容现象,测试代码如下:@Testpublic void test3() { List<Integer> list = new ArrayList<>(); list.add(0); System.out.println("********原创 2022-04-10 22:07:41 · 4872 阅读 · 0 评论 -
ConcurrentModificationException学习记录
ConcurrentModificationException位于java.util包下,中文意思就是并发修改异常。当一个线程在遍历集合时,另一个线程对集合进行修改(添加或删除元素),此时遍历过程可能会出现问题。为了避免这类问题,某些迭代器在检测到这种情况时会抛出ConcurrentModificationException,这些迭代器就叫做fail-fast(快速失败)迭代器。注意:此异常并不总是表示对象被不同的线程同时修改。 如果单个线程使用违反对象合同的方法调用集合,也可能会抛出此异常。例如,原创 2022-04-01 22:35:20 · 555 阅读 · 0 评论