高并发面试题知识归纳

大纲:

             

 

1:volatile 是java 虚拟机提供的轻量级的同步机制

 1.1:保证内存可见性

 1.2:不保证原子性

 1.3:禁止指令重排

2:JMM java内存模型

2.1:JMM关于同步的规定:

        1 线程解锁前,必须把共享变量的值刷新回主内存中

        2 线程加锁前,必须读取主内存的最新值到自己的工作内存(栈空间)

        3 加锁解锁是同一把锁

           

 2.2 可见性

 2.3 原子性

 2.4 有序性

3:单例

   3.1 DCL(Doouble check lock 双端检锁机制)

         

        

         

        添加volatile 禁止指令重排序

        

4:CAS 是什么

   4.1 比较并交换

   4.2 CAS底层原理?如果知道,谈谈你的Unsafe的理解

           4.2.1:atomiclInteger.getAndIncreament()

                     

4.2.2:Unsafe

              

               

4.2.3:CAS是什么

             

             

             

4.3 CAS 缺点

      4.3.1:循环时间长开销很大

               

    4.3.2:只能保证一个共享变量的原子操作

             

 

4.3.3:引出来ABA问题??

 

 

5:原子类AtomicInteger的ABA问题谈谈?原子更新引用知道码?

     5.1:ABA问题是怎么产生的

            

    5.2:原子引用

            

5.3:时间戳原子引用

           

          

 

6:集合类不安全问题 (我们知道ArrayList)是线程不安全的,请编码写一个不安全的案例并给出解决方案

并发修改异常

     

     

     

Set

    

    

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值