原答案
https://stackoverflow.com/questions/1386275/why-is-java-vector-class-considered-obsolete-or-deprecated
Vector在每个单独的操作上同步。这几乎从来没有你想要做的。
通常你想同步整个操作序列。同步单个操作不太安全(例如,如果您遍历Vector,则仍需要取出锁以避免其他人同时更改集合,这会在迭代线程中导致ConcurrentModificationException),而且还速度较慢(为什么在一次足够的时候反复地重复锁定)?
当然,即使你不需要,它也有锁定的开销。
基本上,在大多数情况下,这是一个非常有缺陷的同步方法。正如Brian Henk先生指出的那样,您可以使用诸如Collections.synchronizedList之类的调用来装饰集合 - Vector将“调整大小的数组”集合实现与“同步每个操作”位相结合的事实是设计不佳的另一个例子;装修方式让人更清楚地分离顾虑。