美文网首页
java的写入时复制容器的例子以及该容器的优缺点

java的写入时复制容器的例子以及该容器的优缺点

作者: 每天学点编程 | 来源:发表于2018-02-20 05:13 被阅读4次

    请关注我的微信公众号

    个人微信公众号

    技术交流群 (仅作技术交流):642646237

    ​请关注我的头条号:

    写入时复制CopyOnWriteArrayList




    CopyOnWriteArrayList使用了保护性复制的策略。
    它并不是在遍历列表前进行复制,而是在列表被修改时进行,已经投入使用的迭代器会使用当时的旧副本。

    使用了CopyOnWriteArrayList的好处

    首先,使用了CopyOnWriteArrayList的代码会变得非常简洁。
    其次,代码将变得更高效,只在listeners被更新时创建副本(更新listeners的概率相对较低)。

    CopyOnWriteArrayList缺点

    1.内存占有问题。
    两个数组同时驻扎在内存中,占用内存会比较大,可以用ConcurrentHashMap来解决。

    2.数据一致性。
    CopyOnWriteArrayList容器只能保证数据的最终一致性,不能保证数据的实时一致性。
    如果写入的的数据需要实时读到不能使用CopyOnWriteArrayList。

    相关文章

      网友评论

          本文标题:java的写入时复制容器的例子以及该容器的优缺点

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