Vector源码详解

1是一中线程同步(有争议)的容器,底层也是使用数组来储存,不过很多方法都加了syconized实现同步,效率很低,不适合在并发容器,而是作为同步容器,它的数组长度是变大为原来1倍,而且它的长度还以减小。
但并非完全线程安全,因为同步方法内部是互斥安全的,但是方法与方法之间并发是互斥访问的。

private static Vector vector=new Vector();
 
    public static void main(String[] args) {
        while(true){
            for(int i=0;i<10;i++){
                vector.add(i); //往vector中添加元素
            }
            Thread removeThread=new Thread(new Runnable() {         
                @Override
                public void run() {
                    //获取vector的大小
                    for(int i=0;i20);
        }
    }

你可能感兴趣的:(java集合框架)