首页 > 技术交流 > 一篇与面试官和蔼交流的深入了解JUC和集合

一篇与面试官和蔼交流的深入了解JUC和集合

头像
zhz白神
编辑于 2021-01-25 11:11:28 APP内打开
赞 6 | 收藏 39 | 回复7 | 浏览1727

原文链接:https://blog.csdn.net/zhouhengzhe/article/details/112691117
目录:
1、Cas(比较并交换)
2、AQS(AbstractQueuedSynchronizer)=>抽象队列同步器
3、Volatile:
3.1、JMM
3.2、As-If-Serial原则
3.3、Happens-Before原则
3.4、volatile原理
3.5、作用
3.6、原子操作
3.7、高速缓存
3.8、MESI状态切换
3.9、伪共享
4、ReentrantLock
4.1、原理
5、Synchronized
5.1、原理
5.2、锁升级
5.3、对象布局
6、CountDownLatch=>倒计时器
6.1、使用
6.2、常用api
6.3、原理
7、CyclicBarrier=>循环栅栏
7.1、原理
7.2、常用API
7.3、使用
7.2、CountDownLatch和CyclicBarrier的区别
8、Semaphore=>参数代表同时访问的线程,允许多个线程同时访问
8.1、定义
8.2、使用
8.3、主要API
9、Executors(不建议使用)
10、ThreadPoolExecutor
10.1、创建
10.2、参数解析
10.3、原理
11、ScheduledThreadPoolExecutor:
12、Exchanger(交换数据)
13、ThreadLocal
13.1、原理
14、BlockingQueue(生产者消费者模型=》队列(先进先出))
14.1、ArrayBlockingQueue
14.2、LinkedBlockingQueue
14.3、PriorityBlockingQueue
14.4、DelayQueue
14.5、常用API
15、Automic类
15.1、相关术语
15.2、常见类
16、Unsafe
16.1、怎么获取实例
16.2、功能介绍
16.2.1、内存操作
16.2.2、CAS相关
16.2.3、线程调度
16.2.4、内存屏障
17、Future/FutureTask
17.1、任务性质类型
17.2、Future(接口)
17.2.1、定义
17.2.2、常见方法
17.2.3、功能
17.3、FutureTask
18、Fork/Join(大化小,小归大,分而治之)
18.1、Fork/Join定义
18.2、Fork/Join特性
18.3、工作窃取算法
18.3.1、定义
18.3.2、例子
18.3.3、Fork/Join中的体现
18.4、ForkJoin的类
18.5、使用场景例子
19、Disruptor(生产者消费者模型)
19.1、核心设计原理(怎么解决队列速度慢)
19.2、核心组件与作用(8个)
19.3、等待策略(Wait Strategy)
19.4、写数据
20、Hashmap/ConcurrentHashMap
20.1、说一下 HashMap 的实现原理?
20.2、HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现
20.3、HashMap的put方法的具体流程?
20.4、HashMap的get方法的具体流程?
20.5、HashMap的扩容操作是怎么实现的?
20.6、HashMap是怎么解决哈希冲突的?
20.7、能否使用任何类作为 Map 的 key?
20.8、为什么HashMap中String、Integer这样的包装类适合作为K?
20.9、如果使用Object作为HashMap的Key,应该怎么办呢?
20.10、HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标?
20.11、HashMap 的长度为什么是2的幂次方
20.12、HashMap 与 HashTable 有什么区别?
20.13、如何决定使用 HashMap 还是TreeMap?
20.14、HashMap 和 ConcurrentHashMap 的区别
20.15、ConcurrentHashMap 和 Hashtable 的区别?
20.16、ConcurrentHashMap 底层具体实现知道吗?实现原理是什么?
21、ArrayList
21.1、快速失败机制 “Fail-Fast”
21.2、安全失败 Fail-Safe
21.3、Fail-Fast(快速失败)和Fail-Safe(安全失败)比较
21.4、说一下 ArrayList 的优缺点
21.5、如何实现数组和 List 之间的转换?
21.6、ArrayList 和 LinkedList 的区别是什么?
21.7、ArrayList 和 Vector 的区别是什么?
21.8、插入数据时,ArrayList、LinkedList、Vector谁速度较快?阐述 ArrayList、Vector、LinkedList 的存储性能和特性?
21.9、多线程场景下如何使用ArrayList?
22、CopyOnWriteArrayList
23、TreeMap
23.1、原理
23.2、红黑树
23.2.1、性质
23.2.2、插入的时候旋转和颜色变换规则
23.2.3、删除
23.2.4、红黑树的性能分析
24、StampedLock
25、wait()与sleep() 方法的区别。
26、什么时候用线程,什么时候用进程,nginx底层的用到了什么?

7条回帖

回帖
加载中...
话题 回帖

推荐话题

相关热帖

技术交流近期热帖

近期精华帖

热门推荐