查缺补漏-JavaConcurrent

本章是整理知识内容,为强化知识长期更新。

对比下Vector、ArrayList、LinkedList之前有何区别。

Vector

  • Vector是Java早期提供的线程安全动态数组,和ArrayList之间在扩容方面有很多的区别,Vector是扩容2倍,而ArrayList扩容1.5倍。

ArrayList

  • ArrayList平时开发过程中使用最多的,是一个线程不安全的动态数组。所以性能上相对Vector好很多。

LinkedList

  • 它是一个链表,对比ArrayList和Vector不需要扩容。但没有实现RandomAccess接口。RandomAccess的实现,则尽量用for(int i = 0; i < size; i++) 来遍历而不要用Iterator迭代器来遍历。