我觉得这就有点逗比了
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Vector同步每个单独的操作。这几乎从来不是你想要做的。
通常你想同步整个操作序列。同步单个操作不太安全(Vector例如,如果你遍历一个,例如,你仍然需要取出一个锁,以避免其他人同时改变集合,这将导致ConcurrentModificationException迭代线程),但也更慢为什么要重复一次锁就好了)?
当然,即使你不需要,它也有锁定的开销。
基本上,在大多数情况下,这是一个非常有缺陷的同步方法。正如Brian Henk先生指出的那样,您可以使用如下调用来装饰集合Collections.synchronizedList:Vector将“调整大小的数组”集合实现与“每个操作同步”位相结合的事实是设计不佳的另一个例子; 装饰方式让人更清楚的分离关注点。
至于Stack等价的 - 我会看Deque/ ArrayDeque开始。
Vector同步每个单独的操作。这几乎从来不是你想要做的。
通常你想同步整个操作序列。同步单个操作不太安全(Vector例如,如果你遍历一个,例如,你仍然需要取出一个锁,以避免其他人同时改变集合,这将导致ConcurrentModificationException迭代线程),但也更慢为什么要重复一次锁就好了)?
当然,即使你不需要,它也有锁定的开销。
基本上,在大多数情况下,这是一个非常有缺陷的同步方法。正如Brian Henk先生指出的那样,您可以使用如下调用来装饰集合Collections.synchronizedList:Vector将“调整大小的数组”集合实现与“每个操作同步”位相结合的事实是设计不佳的另一个例子; 装饰方式让人更清楚的分离关注点。
至于Stack等价的 - 我会看Deque/ ArrayDeque开始。