Vector底层结构和源码剖析

发布时间 2023-07-08 13:59:15作者: 寇

Vector底层结构和源码剖析

Vector的基本介绍

  1. vector类的定义说明

![截屏2023-07-07 15.33.26](/Users/aosoaoao/Library/Application Support/typora-user-images/截屏2023-07-07 15.33.26.png)

  1. Vector底层也是一个对象数组,protected Object[] elementData;
  2. Vector是线程同步的,即线程安全,Vector类的操作方法带有Synchronized
  3. 在开发中,如果要考虑线程同步安全的时候,考虑使用Vector

Vector和ArrayList的比较

底层结构 版本 线程安全(同步)效率 扩容倍数
ArrayList 可变数组 Jdk1.2 不安全,效率高 如果是有参1.5倍,如果是无参1.第一次10 2.第二次按照1.5倍扩容
Vector 可变数组 Object[] Jdk1.0 安全,效率低 如果是无参,默认10,满后,就按照2倍扩容 如果是有参则每次按照两倍扩