JavaEE初阶----Thread进阶----面试八股文

文章前言:

此部分内容是面试中常考,但是工作中很少甚至不会使用到的知识,实在理解不了,可以尝试背下来!这部分的内容就是我们熟知的面试的八股文


文章目录:

1、常见锁策略

  • 1.1、乐观锁 and 悲观锁
  • 1.2、读写锁 and 普通的互斥锁
  • 1.3、重量级锁 and 轻量级锁
  • 1.4、自旋锁 and 挂起等待锁
  • 1.5、公平锁 and 非公平锁
  • 1.6、可重入锁 and 不可重入锁

2、CAS

  • 2.1、基于CAS实现原子类
  • 2.2、基于CAS实现自旋锁
  • 2.3、关于CAS中的ABA问题
  • 2.4、如何解决ABA问题—版本号的引入
  • 2.5、synchronized中的锁优化机制
    • 2.5.1、锁膨胀
    • 2.5.2、锁粗化
    • 2.5.3、锁消除

3、Java中的JUC

  • 3.1、callable的使用
  • 3.2、ReentrantLock的使用
  • 3.3、Semaphore的使用
  • 3.4、CountDownLatch的使用

4、线程安全的集合类

  • 4.1、多线程环境下使用ArrayList
  • 4.2、多线程环境下使用队列
  • 4.3、多线程环境下使用哈希表

1、常见锁策略

JavaEE初阶----Thread进阶----面试八股文_第1张图片

1.1、乐观锁 VS 悲观锁

JavaEE初阶----Thread进阶----面试八股文_第2张图片

1.2、读写锁 and 普通的互斥锁

JavaEE初阶----Thread进阶----面试八股文_第3张图片

1.3、重量级锁 and 轻量级锁

JavaEE初阶----Thread进阶----面试八股文_第4张图片

1.4、自旋锁 and 挂起等待锁

JavaEE初阶----Thread进阶----面试八股文_第5张图片

1.5、公平锁 and 非公平锁

JavaEE初阶----Thread进阶----面试八股文_第6张图片

1.6、可重入锁 and 不可重入锁

JavaEE初阶----Thread进阶----面试八股文_第7张图片


2、CAS

JavaEE初阶----Thread进阶----面试八股文_第8张图片
JavaEE初阶----Thread进阶----面试八股文_第9张图片
JavaEE初阶----Thread进阶----面试八股文_第10张图片
在这里插入图片描述

2.1、基于CAS实现原子类

在这里插入图片描述
在这里插入图片描述
JavaEE初阶----Thread进阶----面试八股文_第11张图片

2.2、基于CAS实现自旋锁

JavaEE初阶----Thread进阶----面试八股文_第12张图片

2.3、关于CAS中的ABA问题

JavaEE初阶----Thread进阶----面试八股文_第13张图片

JavaEE初阶----Thread进阶----面试八股文_第14张图片

2.4、如何解决ABA问题—版本号的引入

JavaEE初阶----Thread进阶----面试八股文_第15张图片
JavaEE初阶----Thread进阶----面试八股文_第16张图片

2.5、synchronized中的锁优化机制

2.5.1、锁膨胀/锁升级

JavaEE初阶----Thread进阶----面试八股文_第17张图片
JavaEE初阶----Thread进阶----面试八股文_第18张图片

2.5.2、锁粗化

JavaEE初阶----Thread进阶----面试八股文_第19张图片

2.5.3、锁消除

JavaEE初阶----Thread进阶----面试八股文_第20张图片


3、Java中的JUC

JavaEE初阶----Thread进阶----面试八股文_第21张图片

3.1、callable的使用

JavaEE初阶----Thread进阶----面试八股文_第22张图片
JavaEE初阶----Thread进阶----面试八股文_第23张图片

3.2、ReentrantLock的使用

JavaEE初阶----Thread进阶----面试八股文_第24张图片
JavaEE初阶----Thread进阶----面试八股文_第25张图片
JavaEE初阶----Thread进阶----面试八股文_第26张图片

3.3、Semaphore的使用

JavaEE初阶----Thread进阶----面试八股文_第27张图片

3.4、CountDownLatch的使用

JavaEE初阶----Thread进阶----面试八股文_第28张图片


4、线程安全的集合类

4.1、多线程环境下使用ArrayList

JavaEE初阶----Thread进阶----面试八股文_第29张图片

4.2、多线程环境下使用队列/div>

JavaEE初阶----Thread进阶----面试八股文_第30张图片

4.3、多线程环境下使用哈希表/div>

JavaEE初阶----Thread进阶----面试八股文_第31张图片

你可能感兴趣的:(JavaEE,java,多线程,面试八股文,JavaEE进阶)