[面试题] Java高并发中的集合有哪些?

[面试题] Java高并发中的集合有哪些?

直接开背:

在jdk1.0中就存在了Vector和Hashtable,这两者均是直接采用synchronized修饰方法以保证线程安全,然而这样的处理形式导致性能不高,因此在jdk1.2之后引入了ArrayList、LinkedList、HashMap等线程不安全的集合,这些线程不安全的集合性能会更高,但是想要用ArrayList、HashMap,并希望保证其线程安全,可以使用Collections类中的SynchronizedList、SynchronizedMap内部类,通过调用Collections.synchronizedListCollections.synchronizedMap等方式,以传值的方式将ArrayList、HashMap传入,返回值即是SynchronizedList、SynchronizedMap,虽然底层同样是synchronized代码块锁,但并没有锁方法头,可以细粒度化。除此之外,可以使用JUC包下的线程安全集合类,ConcurrentHashMap、CopyOnWriteArrayList、CopyOnWriteArraySet等,采用CAS操作,既保证了一定的性能,又保证了线程安全性。




至此说明:

评论区 催更其他面试题。谢谢~~🙏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值