请选择 进入手机版 | 继续访问电脑版
点击联系客服
客服QQ:509006671 客服微信:mengfeiseo
查看: 168|回复: 50

ArrayList和Vector再次被提及

[复制链接]

1

主题

1

帖子

-7

积分

限制会员

积分
-7
发表于 2021-2-23 14:16:17 | 显示全部楼层 |阅读模式
Arraylist和vector

CopyOnWriteArrayList

Vector是线程同步的,允许两个线程安全地访问一个Vector对象,但如果一个线程访问Vector,则代码会花费很多时间进行同步。维克多扩张一次增加一倍。

ArrayList不同步,因此,如果不需要线程同步,建议使用ArrayList,必要时使用CopyOnWriteArrayList。ArrayList一次扩展1.5倍

Vector和CopyOnWriteArrayList

Vector有synchronized关键字修改方法,线程安全不正确。





解决方法(不需要)





所以用CopyOnWriteArrayList代替了

把大象塞进冰箱一共分几步?

数据在几步之内写下来呢?第一阶段锁定,第二部分复制后操作,第三阶段解锁





锁定()

首先,copy再添加一个新阵列,然后添加新阵列。最后,我们扔掉旧的,将新的排列给set。

Unlock()解除锁定,finally必须解除锁定,而不管操作结果如何

删除根据情况(如删除位置)执行复制操作

两个主要问题:

由于这些特性,可以根据结果(最终一致性)而不是实时(不符合实时一致性)进行查看

这些操作必须占用内存,因此可以在适当的时候使用其他容器(concurrenthashmap)。

部分照片是从其他博客借用的。
回复

使用道具 举报

1

主题

199

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2021-2-23 14:24:51 | 显示全部楼层
学习了,谢谢分享、、、
回复

使用道具 举报

0

主题

187

帖子

49

积分

新手上路

Rank: 1

积分
49
发表于 2021-2-23 14:49:18 | 显示全部楼层
没看完~~~~~~ 先顶,好同志
回复

使用道具 举报

0

主题

194

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2021-2-23 15:10:03 | 显示全部楼层
不错,支持下楼主
回复

使用道具 举报

0

主题

194

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2021-2-23 15:34:16 | 显示全部楼层
帮帮顶顶!!
回复

使用道具 举报

1

主题

180

帖子

-18

积分

限制会员

积分
-18
发表于 2021-2-23 15:58:30 | 显示全部楼层
前排支持下
回复

使用道具 举报

0

主题

181

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 2021-2-23 16:28:13 | 显示全部楼层
学习了,不错,讲的太有道理了
回复

使用道具 举报

0

主题

178

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2021-2-23 16:49:11 | 显示全部楼层
前排支持下分享
回复

使用道具 举报

0

主题

193

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2021-2-23 17:11:55 | 显示全部楼层
前排支持下分享
回复

使用道具 举报

0

主题

192

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2021-2-23 17:32:14 | 显示全部楼层
相当不错,感谢无私分享精神!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图版|手机版|小黑屋|汕头@IT精英团

Powered by Discuz! X3.4 © 2021 Comsenz Inc.

GMT+8, 2021-4-21 00:54 , Processed in 0.210941 second(s), 19 queries .

快速回复 返回顶部 返回列表