大纲:

             高并发面试题知识归纳

 

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

    高并发面试题知识归纳

    高并发面试题知识归纳

 

相关文章: