Vectory注意事项
-
Vectory的基本介绍
-
Vectory 底层也是一个对象数组,protected Object[] elementData;
-
Vectory 是线程同步的,即线程安全,Vectory类的操作方法带有synchronized
public synchronized boolean add(E e) { modCount++; ensureCapacityHelper(elementCount + 1); elementData[elementCount++] = e; return true; }
-
在开发中,需要线程同步安全时,考虑使用Vector
-
Vectory源码分析
-
Vector和ArrayList的比较:
底层结构 | 版本 | 线程安全(同步)效率 | 扩容倍数 | |
---|---|---|---|---|
ArrayList | 可变数组 | jdk1.2 | 不安全,效率高 | 如果有参构造1.5倍;如果无参构造:第一次10,第二次按照1.5倍扩容 |
Vector | 可变数组 | jdk1.0 | 安全,效率不高 | 如果时无参,默认10,满后,按照2倍扩容;如果指定大小,则每次直接按照2倍扩容 |