美文网首页
集合10-Stack类源码分析

集合10-Stack类源码分析

作者: zhanglbjames | 来源:发表于2017-06-01 21:24 被阅读0次

    定义

    Stack继承自Vector

    Vector

    自由伸缩的矢量数组队列

    1. 定义

    可以看出Vector的继承结构层次和ArrayList一样,都提供了List接口,随机访问的方法,克隆,序列化。

    1. 特点

    Vector的实现和ArrayList的实现基本相同,如缓冲数据,扩容等主要不同点是对于可能发生的修改Vector结构的并发操作都是同步方法synchronized,由于存在大量的同步方法,同步粒度比较粗,效率很低,可以使用并发集合的数据结构来代替。
    但是只重新实现了序列化方法,使用默认反序列化方法

    Stack的实现


    1. Stack栈顶位于Vector缓冲数组的末尾。
    2. 底层基于数组的Stack的实现借助父类Vector的方法实现起来比较简单,同时注意到更改Stack结构的操作都被实现为同步synchronized方法,所以功能上是线程安全的,但是效率上是很低。
    3. 如果不考虑线程安全的问题也可以考虑使用LinkedList(基于链表实现的Stack接口)

    相关文章

      网友评论

          本文标题:集合10-Stack类源码分析

          本文链接:https://www.haomeiwen.com/subject/hstyfxtx.html