摘要: 1、背景 java诞生之初 就有线程安全的Vector,但Vector对读写都是通过synchronized关键字来同步的,性能并不好 且Vector每次扩容是原来的1倍,存在内存浪费的可能。 对于线程安全的List JDK提供了CopyOnWriteArrayList 2、原理 2.1 CopyO 阅读全文
posted @ 2019-09-16 23:23 蓝天随笔 阅读(1133) 评论(0) 推荐(0)
摘要: 1、数据结构 ArrayList底层使用数组实现,默认大小10,容量不足时需动态扩容为原来的1.5倍 LinkedList底层使用双向链表实现,无大小限制 2、使用场景 ArrayList使用数组对于索引操作即(set get方法)时间复杂度为O(1) 而LinkedList索引时需要从头遍历从而找 阅读全文
posted @ 2019-09-16 22:49 蓝天随笔 阅读(966) 评论(0) 推荐(0)