高并发相关(一)

1. volatile   :   a.不保证原子性 b.可见性  c.禁止指定重排

2.JMM : java内存模型

3.单例模式: DCL(双端检索机制)double check lock  

            高并发下可以 volatile+DCL 实现单列模式

4.自旋锁 /CAS(比较and交换)  底层 unsafe 可直接调用操作系统(native)

         CAS的缺点:a.循环时间长,cpu开销大  b.只保证一个原子变量   c.引来aba 问题(使用AtomicReference原子引用类型)

5.atomicInteger 原子/       cas调用的 getAndIncrement (在原语中执行,必须连续,不允许被打断)

6.ArrayList,HashSet,HashMap都是线程不安全,多线程下会出现并发修改异常,concurrentModifctionException,要实现线程安全,用collections.synchronizedList(),或者 CopyOnWriteArrayList(写时复制)

7.CountDownLatch(倒计时减法),cyclicBarrier凑齐7龙珠(加法),Semaphore信号量(抢车位)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值